Browse Source

Merge branch 'master' into user-add-1

pull/146/head
francesca6431 7 years ago
committed by GitHub
parent
commit
2da73d85de
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
21 changed files with 133 additions and 82 deletions
  1. +1
    -1
      package.json
  2. +0
    -12
      server.js
  3. +9
    -4
      src/assets/scripts/app/index.js
  4. +0
    -6
      src/assets/scripts/avatar-initials.js
  5. +2
    -2
      src/assets/scripts/dashboard/dashboard.html
  6. +1
    -0
      src/assets/scripts/index.js
  7. +1
    -0
      src/assets/scripts/logout/controller.js
  8. +5
    -2
      src/assets/scripts/nwLogin/controller.js
  9. +1
    -1
      src/assets/scripts/nwLogin/index.js
  10. +3
    -3
      src/assets/scripts/nwSidebar/nwSidebar.html
  11. +6
    -5
      src/assets/scripts/nwTopbar/nwTopbar.html
  12. +6
    -1
      src/assets/scripts/nwTopbar/topbar.controller.js
  13. +10
    -0
      src/assets/scripts/user-details/index.js
  14. +12
    -0
      src/assets/scripts/user-details/user-details.controller.js
  15. +12
    -0
      src/assets/scripts/user-details/user-details.service.js
  16. +10
    -0
      src/assets/scripts/users/index.js
  17. +12
    -0
      src/assets/scripts/users/users.controller.js
  18. +26
    -43
      src/assets/scripts/users/users.html
  19. +13
    -0
      src/assets/scripts/users/users.service.js
  20. +2
    -1
      src/index.html
  21. +1
    -1
      webpack/devServer.js

+ 1
- 1
package.json View File

@ -4,7 +4,7 @@
"private": true,
"description": "HTML Admin Template",
"scripts": {
"start": "npm run build && node server.js",
"start": "webpack-dashboard -t 'Project' -- webpack-dev-server",
"dev": "webpack-dashboard -t 'Project' -- webpack-dev-server",
"clean": "shx rm -rf ./build",
"build": "npm run clean && cross-env NODE_ENV=\"production\" webpack",


+ 0
- 12
server.js View File

@ -1,12 +0,0 @@
const express = require('express');
const app = express();
app.use(express.static('public'));
// start the server with the build folder.
app.use('/', express.static(__dirname + '/build'));
const server = app.listen(process.env.PORT || 3000, function () {
console.log('Server started at http://localhost:%s', server.address().port);
});

+ 9
- 4
src/assets/scripts/app/index.js View File

@ -17,6 +17,7 @@ angular.module('NomitWisp',
'nwSignup',
'nwHistory',
'nwUserAdd',
'nwUsers',
ngRoute
])
@ -56,10 +57,14 @@ angular.module('NomitWisp',
controller: 'UserAddController',
templateUrl: 'assets/scripts/user-add/user-add.html'
})
// .when('/users', {
// controller: 'UsersController',
// templateUrl: ''
// })
.when('/users', {
controller: 'UsersController',
templateUrl: 'assets/scripts/users/users.html'
})
.when('/users/:id',{
controller: 'UserDetailsController',
templateUrl: 'assets/scripts/user-details/user-details.html'
})
// .when('/companies', {
// controller: 'CompaniesController',
// templateUrl: ''


+ 0
- 6
src/assets/scripts/avatar-initials.js View File

@ -1,6 +0,0 @@
import Avatar from 'avatar-initials';
const avatar = new Avatar(document.getElementById('avatar'), {
'useGravatar': false,
'initials': 'MC',
});

+ 2
- 2
src/assets/scripts/dashboard/dashboard.html View File

@ -1,4 +1,4 @@
<main class='main-content bgc-grey-300'>
<main class='main-content bgc-grey-300' ng-controller="DashboardController">
<div id='mainContent row'>
<div class="row content-title mT-60">
<div class="col-8 ml-1 mb-4">
@ -82,7 +82,7 @@
<h6 class="lh-1">New Registered Users</h6>
</div>
<div class="layer w-100 p-20">
<canvas id="line-chart" height="220" ng-show="{{user.role}} == 'admin'"></canvas>
<canvas id="line-chart" height="220" ng-show="'{{user.role}}' == 'admin'"></canvas>
</div>
<div class="layer bdT p-20 w-100">
<div class="peers ai-c jc-c gapX-20">


+ 1
- 0
src/assets/scripts/index.js View File

@ -30,5 +30,6 @@ import './signup';
import './history';
import './trumbowyg';
import './user-add';
import './users';
import './app';

+ 1
- 0
src/assets/scripts/logout/controller.js View File

@ -6,6 +6,7 @@ const LogoutController = ($scope, $location, LogoutService, $cookies, UserServic
$cookies.remove('access_token');
UserService.loadUser();
$location.path('/');
window.location.reload(false);
}
};

+ 5
- 2
src/assets/scripts/nwLogin/controller.js View File

@ -2,7 +2,7 @@ const LoginController = ($scope, $cookies, $location, LoginService, UserService)
// load the user if already logged in, for all controllers
UserService.loadUser();
$scope.userLogin = async (isValid) => {
if(isValid){
let result = await LoginService.loginUserService($scope.user);
@ -12,7 +12,10 @@ const LoginController = ($scope, $cookies, $location, LoginService, UserService)
$cookies.put('access_token', result.token);
UserService.loadUser();
$location.path('/');
$scope.$apply();
// temporary solution
//window.location.reload(false);
$scope.$emit('needReload');
} else {
alert(result);
}


+ 1
- 1
src/assets/scripts/nwLogin/index.js View File

@ -12,6 +12,6 @@ angular.module('NomitWisp-Login', [ngCookies])
function nwLogin(){
return {
restrict: 'E',
templateUrl: 'assets/scripts/nwLogin/nwLogin.html'
templateUrl: 'assets/scripts/nwLogin/nwLogin.html',
};
}

+ 3
- 3
src/assets/scripts/nwSidebar/nwSidebar.html View File

@ -229,7 +229,7 @@
</a>
</li>
<!-- Admin no, everyone sees their own -->
<li class="nav-item" ng-show="'{{user.role}}'=='nomit' || '{{user.role}}'=='referee' || '{{user.role}}'=='company'">
<li class="nav-item" ng-show="'{{user.role}}'==='nomit' || '{{user.role}}'==='referee' || '{{user.role}}'==='company'">
<a class='sidebar-link' href="#!profile">
<span class="icon-holder">
<i class="c-white-500 fa fa-user-circle-o text-white"></i>
@ -247,7 +247,7 @@
</a>
</li>
<!-- Admin, Nomit & referee see all companies -->
<li class="nav-item" ng-show="'{{user.role}}'=='admin' || '{{user.role}}'=='nomit' || '{{user.role}}'=='referee'">
<li class="nav-item" ng-show="'{{user.role}}'==='admin' || '{{user.role}}'==='nomit' || '{{user.role}}'==='referee'">
<a class='sidebar-link' href="#!companies">
<span class="icon-holder">
<i class="c-white-500 fa fa-building text-white"></i>
@ -265,7 +265,7 @@
</a>
</li>
<!-- Admin, Nomit and Referee have access -->
<li class="nav-item" ng-show="'{{user.role}}'=='admin' || '{{user.role}}'=='nomit' || '{{user.role}}'=='referee'">
<li class="nav-item" ng-show="'{{user.role}}'==='admin' || '{{user.role}}'==='nomit' || '{{user.role}}'==='referee'">
<a class='sidebar-link' href="#!reports">
<span class="icon-holder">
<i class="c-white-500 fa fa-calendar-check-o text-white"></i>


+ 6
- 5
src/assets/scripts/nwTopbar/nwTopbar.html View File

@ -8,17 +8,18 @@
<i class="ti-menu"></i>
</a>
</li>
<li class="search-box visible-nomit visible-referee" ng-show="'{{user.role}}'=='admin' || '{{user.role}}'=='nomit' || '{{user.role}}' == 'referee'">
<li class="search-box visible-nomit visible-referee" ng-show="'{{user.role}}'==='admin' || '{{user.role}}'==='nomit' || '{{user.role}}' == 'referee'">
<a class="search-toggle no-pdd-right" href="javascript:void(0);">
<i class="search-icon ti-search pdd-right-10"></i>
<i class="search-icon-close ti-close pdd-right-10"></i>
</a>
</li>
<li class="search-input visible-referee visible-nomit" ng-show="'{{user.role}}'=='nomit' || '{{user.role}}' == 'referee'">
<li class="search-input visible-referee visible-nomit" ng-show="'{{user.role}}'==='nomit' || '{{user.role}}' == 'referee'">
<input class="form-control" type="text" placeholder="Search users, companies, or anything..">
</li>
<li class="visible-nomit ml-2" ng-show="'{{user.role}}'=='nomit' || '{{user.role}}'=='admin'">
<a href="#!user_add" role="button" class="btn btn-gradient ">
<i class="fa fa-plus pdd-right-5 text-white"></i>
ADD NEW USER
</a>
@ -38,10 +39,10 @@
<li class="dropdown">
<a href="" class="dropdown-toggle no-after peers fxw-nw ai-c lh-1" data-toggle="dropdown">
<div class="peer">
<span class="fsz-sm c-grey-900 visible-{{user.role}} text-capitalize" ng-show="'{{user.role}}'=='admin' || '{{user.role}}'=='nomit'">{{user.role}}</span>
<span class="fsz-sm c-grey-900 visible-{{user.role}}" ng-show="'{{user.role}}'=='company' || '{{user.role}}'=='user'">{{user.fullname}}</span>
<span class="fsz-sm c-grey-900 visible-'{{user.role}}' text-capitalize" ng-show="'{{user.role}}'==='admin' || '{{user.role}}'==='nomit'">{{user.role}}</span>
<span class="fsz-sm c-grey-900 visible-'{{user.role}}'" ng-show="'{{user.role}}'==='company' || '{{user.role}}'==='user'">{{user.fullname}}</span>
</div>
<div class="peer mR-10 visible-nomit" ng-show="'{{user.role}}'=='nomit'">
<div class="peer mR-10 visible-nomit" ng-show="'{{user.role}}'==='nomit'">
<img class=" w-2r bdrs-50p mL-10 nomit-logo-top" src="assets/static/images/nomit-logo.png" alt="">
</div>
<div id="avatar" class="peer mR-10 visible-referee visible-user visible-company" ng-show="'{{user.role}}'!='nomit'">


+ 6
- 1
src/assets/scripts/nwTopbar/topbar.controller.js View File

@ -1,7 +1,7 @@
import functionSearch from '../search';
import Avatar from 'avatar-initials';
/** @ngInject */
import Avatar from 'avatar-initials';
const TopbarController = ($scope, UserService) => {
$scope.$on('loadUserSuccess', function (event, user) {
@ -13,6 +13,11 @@ const TopbarController = ($scope, UserService) => {
'initials': 'CC',
});
$scope.$on('needReload', function(event){
console.log("NEED RELOAD!");
// Refresh topbar...
})
UserService.loadUser();
functionSearch();
}


+ 10
- 0
src/assets/scripts/user-details/index.js View File

@ -0,0 +1,10 @@
import * as angular from 'angular';
import UserDetailsController from './user-details.controller';
import UserDetailsService from './user-details.service';
angular.module('nwUsers', [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.withCredentials = true;
}])
.controller(UserDetailsController.name, UserDetailsController)
.factory(UserDetailsService.name, UserDetailsService);

+ 12
- 0
src/assets/scripts/user-details/user-details.controller.js View File

@ -0,0 +1,12 @@
/** @ngInject */
const UsersController = ($scope, UsersService, UserService) => {
$scope.$on('loadUserSuccess', function (event, user) {
$scope.user = user;
UsersService.fetchUsersService()
.then( (result) => { $scope.userDetails = result; })
.catch( (error) => { console.log(error); })
});
UserService.loadUser();
}
export default UsersController;

+ 12
- 0
src/assets/scripts/user-details/user-details.service.js View File

@ -0,0 +1,12 @@
const UserDetailsService = ($http) => {
let serv = {};
serv.fetchUserDetails = (route) =>{
return $http.get('https://nomitwisp-restapi.herokuapp.com/api/users/'+route.id)
.then( (result) => { return result.data; })
.catch( (error) => { return error; })
}
return serv;
}
export default UserDetailsService;

+ 10
- 0
src/assets/scripts/users/index.js View File

@ -0,0 +1,10 @@
import * as angular from 'angular';
import UsersController from './users.controller';
import UsersService from './users.service';
angular.module('nwUsers', [])
.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.withCredentials = true;
}])
.controller(UsersController.name, UsersController)
.factory(UsersService.name, UsersService);

+ 12
- 0
src/assets/scripts/users/users.controller.js View File

@ -0,0 +1,12 @@
/** @ngInject */
const UsersController = ($scope, UsersService, UserService) => {
$scope.$on('loadUserSuccess', function (event, user) {
$scope.user = user;
UsersService.fetchUsersService()
.then( (result) => { $scope.users = result; })
.catch( (error) => { console.log(error); })
});
UserService.loadUser();
}
export default UsersController;

+ 26
- 43
src/assets/scripts/users/users.html View File

@ -1,4 +1,4 @@
<main class='main-content bgc-grey-300'>
<main class='main-content' ng-controller="UsersController">
<div id='mainContent row'>
<div class="row content-title mT-60">
<h1 class="col-8 ml-1 mb-4">Users</h1>
@ -8,32 +8,25 @@
<!-- #content container ===== -->
<div class="masonry-sizer col-md-6"></div>
<div class="masonry-item w-50">
<div class="masonry-item w-50" ng-repeat="user in users">
<!-- #first user ========= -->
<div class="card item-box">
<div class="user-data-title container">
<div class="row">
<div class="col-8">
<img class="user-update-img rounded-circle" src="https://content.invisioncic.com/Mseclife/monthly_2017_08/C.png.2537be5c760ba5232ee4716f77d13c51.png"
alt="">
<div class="testo">
<h5 class=" form-title">David James</h5>
<div class=" text-size-11">Victoria</div>
<div class=" text-size-11">Mobile: 0414987654</div>
</div>
</div>
<div class="col-4 users-action-btn" style="text-align: right">
<div class="d-inline-block">
<a href=""><i class="fa fa-eye" data-toggle="tooltip" data-placement="bottom" title="View user details"></i></a>
<a href=""><i class="fa fa-ban" data-toggle="tooltip" data-placement="bottom" title="Ban user (user will not be able to login)"></i></a>
</div>
</div>
<img class="user-card-img rounded-circle" src="https://www.monmouth.edu/university-advancement/wp-content/uploads/sites/237/2018/08/person-placeholder.jpg"
alt="">
<div class="user-card-col">
<div class="user-card-title">{{user.fullname}}</div>
<div class=" text-size-11">Victoria</div>
<div class=" text-size-11">Mobile: 0414987654</div>
<a href="#" id="user-action-fill">view user profile</a>
<a href="#" id="user-action-border" data-toggle="tooltip" data-placement="bottom" title="User will be unable to log in to WISP">ban
user</a>
</div>
</div>
<div class="card-body p-0">
<div class="card-body-users row">
<div class="users-icons">
<div class="col-4"></div>
<div class="users-icons col-8">
<a href=""><i class="fa fa-envelope-o"></i></a>
<a href=""><i class="fa fa-linkedin"></i></a>
<a href=""><i class="fa fa-facebook"></i></a>
@ -45,30 +38,20 @@
</div>
</div>
<div class="masonry-item w-50">
<!-- #second user ========= -->
<div class="card item-box">
<div class="user-data-title">
<img class="user-update-img" src="assets/static/images/nomit-logo.png" alt="">
<div class="testo">
<h5 class=" form-title">David James</h5>
<div class=" text-size-11">Victoria</div>
<div class=" text-size-11">Mobile: 0414987654</div>
</div>
</div>
<div class="card-body p-0">
<div class="card-body-users row">
<div class="users-icons">
<a href=""><i class="ti-instagram "></i></a>
<a href=""><i class="ti-twitter "></i></a>
<a href=""><i class="ti-facebook "></i></a>
<a href=""><i class="ti-email"></i></a>
</div>
</div>
</div>
</div>
</div>
<!-- PAGINATION-->
<div class="pagination">
<a href="#">&laquo;</a>
<a href="#">1</a>
<a class="active" href="#">2</a>
<a href="#">3</a>
<a href="#">4</a>
<a href="#">5</a>
<a href="#">6</a>
<a href="#">&raquo;</a>
</div>
</div>
<!--content container-->
</main>

+ 13
- 0
src/assets/scripts/users/users.service.js View File

@ -0,0 +1,13 @@
/** @ngInject */
const UsersService = ($http) => {
let serv = {};
serv.fetchUsersService = () =>{
return $http.get('https://nomitwisp-restapi.herokuapp.com/api/users/user', { withCredentials: true })
.then( (result) => { console.log(result.data); return result.data; })
.catch( (error) => { return error; });
}
return serv;
}
export default UsersService;

+ 2
- 1
src/index.html View File

@ -83,11 +83,12 @@
<nw-topbar></nw-topbar>
<!-- ### $App Screen Content ### -->
<div ng-view></div>
<nw-footer></nw-footer>
</div>
<!-- ### $App Screen Footer ### -->
<nw-footer></nw-footer>
</div>


+ 1
- 1
webpack/devServer.js View File

@ -17,7 +17,7 @@ const
const devServer = {
contentBase : manifest.IS_PRODUCTION ? manifest.paths.build : manifest.paths.src,
historyApiFallback : true,
port : manifest.IS_PRODUCTION ? 3001 : 3000,
port : manifest.IS_PRODUCTION ? process.env.PORT || 3001 : process.env.PORT || 3000,
compress : manifest.IS_PRODUCTION,
inline : !manifest.IS_PRODUCTION,
watchContentBase: true,


Loading…
Cancel
Save