license management from admin ready

parent 56cb8903
......@@ -71,6 +71,7 @@
"disabled": "Disabled. Clic for invisible",
"double_click": "Double click",
"down": "Down",
"duration_in_months": "Duration (in number of months)",
"drag": "Drag",
"edit": "Edit",
"email": "Email address",
......@@ -91,6 +92,7 @@
"error_only_support_images": "Only images are supported (JPG, PNG or GIF files)",
"error_on_request": "The request has not been processed. Please, check your fields",
"error_loading_pictos": "Error loading pictos information",
"error_general": "An error has been produced",
"expand_navigation": "Expand navigation",
"expand_navigation": "Expand navigation",
"expression": "Expression:",
......@@ -126,7 +128,8 @@
"last_session": "Last session",
"legend": "Legend",
"legend_size": "Legend size",
"licenses": "Licenses (max. number of students)",
"licenses": "Licenses",
"license_created": "License created",
"licenses_left": "{{number}} licenses left",
"light_up": "Light up",
"link": "Link",
......
......@@ -71,6 +71,7 @@
"disabled": "Desactivado. Clic para invisible",
"double_click": "Doble clic",
"down": "Abajo",
"duration_in_months": "Duración (en número de meses)",
"drag": "Arrastrar",
"edit": "Editar",
"email": "Correo electrónico",
......@@ -94,6 +95,7 @@
"error_only_support_images": "Sólo se soportan imágenes (ficheros JPG, PNG o GIF)",
"error_on_request": "Se ha producido un error. Por favor, compruebe los valores introducidos.",
"error_loading_pictos": "Error cargando información de los pictos",
"error_general": "Se ha producido un error",
"February": "Febrero",
"feedback_picto": "Feedback al colocar un pictograma",
"filter": "Filtrar",
......@@ -126,8 +128,9 @@
"last_session": "Última sesión",
"legend": "Leyenda",
"legend_size": "Tamaño de la leyenda",
"licenses": "Licencias (número máximo de estudiantes)",
"licenses": "Licencias",
"licenses_left": "{{number}} licencias disponibles",
"license_created": "Licencia creada",
"light_up": "Iluminar",
"link": "Vincular",
"loading_pictos": "Cargando pictos",
......
......@@ -149,14 +149,20 @@ dashboardApp.config(function ($stateProvider, $urlRouterProvider) {
controller: 'AdminCtrl',
abstract: true,
})
.state('licenses', {
url: '/admin/licenses',
parent: 'admin',
templateUrl: 'modules/admin/views/licenses.html',
controller: 'AdminLicensesCtrl',
})
.state('offices', {
url: '/offices',
url: '/admin/offices',
parent: 'admin',
templateUrl: 'modules/admin/views/offices.html',
controller: 'AdminOfficesCtrl',
})
.state('supervisors', {
url: '/supervisors',
url: '/admin/supervisors',
parent: 'admin',
templateUrl: 'modules/admin/views/supervisors.html',
controller: 'AdminSupervisorsCtrl',
......
......@@ -4,15 +4,15 @@
<header-admin></header-admin>
<!-- Tab menu -->
<ul class="nav nav-pills nav-justified" ng-init="selectedTab = 'supervisors'">
<li role="presentation" ng-click="selectedTab = 'supervisors'" ng-class="{'active':selectedTab === 'supervisors'}">
<a href="#supervisors">{{ 'supervisors' | translate }}</a>
<ul class="nav nav-pills nav-justified" ng-init="selectedTab = 'licenses'">
<li role="presentation" ng-click="selectedTab = 'licenses'" ng-class="{'active':selectedTab === 'licenses'}">
<a href="/app/#/admin/licenses">{{ 'licenses' | translate }}</a>
</li>
<li role="presentation" ng-click="selectedTab = 'offices'" ng-class="{'active':selectedTab === 'offices'}">
<a href="#offices">{{ 'offices' | translate }}</a>
<a href="/app/#/admin/offices">{{ 'offices' | translate }}</a>
</li>
<li role="presentation" ng-click="selectedTab = 'supervisors'" ng-class="{'active':selectedTab === 'supervisors'}">
<a href="#supervisors">{{ 'supervisors' | translate }}</a>
<a href="/app/#/admin/supervisors">{{ 'supervisors' | translate }}</a>
</li>
</ul>
......
......@@ -17,8 +17,9 @@ dashboardControllers.controller('LoginAdminCtrl', function LoginAdminCtrl($scope
.success(function(data, status, headers, config) {
// Save token and user data y sessionStorage
$window.sessionStorage.token = data.token;
// Redirect to admin panel
$location.path('/devices');
$location.path('/admin/licenses');
$translate('login_success').then(function(translation) {
ngToast.success({ content: translation });
......
......@@ -7,7 +7,7 @@ var UPLOAD_PATH = path.join(__dirname, '..', '..', 'upload');
module.exports.pictogram = {
admin: {
email: 'amontejo@ujaen.es',
password: '$2a$10$omHwM62JNI5O1hbkfFGncOYwq3mZATmh8NnTQhN3f7JV3Q1/S9fGG'
password: '$2a$06$flEEOc15SerMeYWARrN9w.KSpJuM.jDsaTgrtD0ESzbxKHPl0f/zq' //y00ttaa!!
},
serialSize: 10, // number of characters in generated serial numbers
pageLimit: 10, // number of elements per "page"
......
......@@ -112,10 +112,8 @@ module.exports.policies = {
},
LicenseController: {
/* create: ['tokenAuth', 'isAdmin'],
activate: ['tokenAuth']*/
create: true,
activate: true
create: ['tokenAuth', 'isAdmin'],
activate: ['tokenAuth']
},
SupervisorController: {
......
......@@ -39,6 +39,7 @@ module.exports = function (grunt) {
'assets/scripts/modules/login/controllers/signin.js',
'assets/scripts/modules/login/controllers/login_admin.js',
'assets/scripts/modules/admin/controllers/admin.js',
'assets/scripts/modules/admin/controllers/licenses.js',
'assets/scripts/modules/admin/controllers/offices.js',
'assets/scripts/modules/admin/controllers/supervisors.js',
'assets/scripts/modules/supervisor/controllers/supervisor.js',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment