...
 
Commits (5)
......@@ -1404,7 +1404,7 @@ var Usuario = (function () {
this.cedula = currentUser.cedula;
this.nombre = currentUser.nombre;
this.apellido = currentUser.apellido;
this.liceoId = currentUser.liceoId;
this.idcentroeducativo = currentUser.idcentroeducativo;
this.tipo = currentUser.tipo;
this.todosLosCursos = !currentUser.todosLosCursos ? [] :
currentUser.todosLosCursos.map(function (c) { return new MoodleCourseDTO(c); });
......@@ -1446,20 +1446,20 @@ var Usuario = (function () {
return usuario;
};
Usuario.prototype.esAlumno = function () {
if (this.esAdmin() || this.esAdminLiceo())
if (this.esAdmin() || this.esAdmincentroeducativo())
return false;
return this.checkForRolesMatch(studentRoles);
};
Usuario.prototype.esDocente = function () {
if (this.esAdmin() || this.esAdminLiceo())
if (this.esAdmin() || this.esAdmincentroeducativo())
return false;
return this.checkForRolesMatch(teacherRoles);
};
Usuario.prototype.esAdmin = function () {
return this.tipo == "admin";
};
Usuario.prototype.esAdminLiceo = function () {
return this.tipo == "adminliceo";
Usuario.prototype.esAdmincentroeducativo = function () {
return this.tipo == "admincentroeducativo";
};
Usuario.prototype.getCursosConRolDocente = function () {
if (!this.todosLosCursos)
......@@ -1508,15 +1508,15 @@ var AuthenticationService = (function () {
AuthenticationService.prototype.getAllSchools = function () {
var headers = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["l" /* Headers */]({ 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + this.getToken() });
var options = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["g" /* RequestOptions */]({ headers: headers });
return this.http.get(__WEBPACK_IMPORTED_MODULE_4__config__["a" /* SERVER */] + '/servicios/liceo/getAllLiceos', options)
return this.http.get(__WEBPACK_IMPORTED_MODULE_4__config__["a" /* SERVER */] + '/servicios/centroeducativo/getAllcentroeducativos', options)
.map(function (res) {
return res.json();
}).catch(this.handleError);
};
AuthenticationService.prototype.login = function (cedula, password, liceoSeleccionado) {
AuthenticationService.prototype.login = function (cedula, password, centroeducativoSeleccionado) {
var headers = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["l" /* Headers */]({ 'Content-Type': 'application/json' });
var options = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["g" /* RequestOptions */]({ headers: headers });
return this.http.post(__WEBPACK_IMPORTED_MODULE_4__config__["a" /* SERVER */] + '/servicios/login', JSON.stringify({ "cedula": cedula, "password": password, "liceo": liceoSeleccionado }), options)
return this.http.post(__WEBPACK_IMPORTED_MODULE_4__config__["a" /* SERVER */] + '/servicios/login', JSON.stringify({ "cedula": cedula, "password": password, "centroeducativo": centroeducativoSeleccionado }), options)
.map(function (response) {
localStorage.setItem('currentUser', JSON.stringify(response.json()));
console.log('Login ok, usuario: ', response.json());
......@@ -1544,7 +1544,7 @@ var AuthenticationService = (function () {
AuthenticationService.prototype.addNewSchool = function (nombre, moodleuri) {
var headers = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["l" /* Headers */]({ 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + this.getToken() });
var options = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["g" /* RequestOptions */]({ headers: headers });
return this.http.post(__WEBPACK_IMPORTED_MODULE_4__config__["a" /* SERVER */] + '/servicios/liceo/addNewSchool', JSON.stringify({ "token": this.getToken(), "nombre": nombre, "moodleuri": moodleuri }), options)
return this.http.post(__WEBPACK_IMPORTED_MODULE_4__config__["a" /* SERVER */] + '/servicios/centroeducativo/addNewSchool', JSON.stringify({ "token": this.getToken(), "nombre": nombre, "moodleuri": moodleuri }), options)
.map(function (response) {
var respJson = response.json();
});
......@@ -2213,8 +2213,8 @@ var HaskellService = (function () {
var archId = {
id: archivoId
};
this.printEnConsola('--------------------', '\n', 'HaskellService.compartirArchivoGrupo', '\n', 'grupo: ', grupo, '\n', 'archivoId: ', archivoId, '\n', 'POST ', __WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/grupo/' + grupo.liceoId + '/' + grupo.anio + '/' + grupo.grado + '/' + grupo.grupo + '/archivo', '\n', '___________________________');
return this.http.post(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/grupo/' + grupo.liceoId + '/' + grupo.anio + '/' + grupo.grado + '/' + grupo.grupo + '/archivo', archId, options)
this.printEnConsola('--------------------', '\n', 'HaskellService.compartirArchivoGrupo', '\n', 'grupo: ', grupo, '\n', 'archivoId: ', archivoId, '\n', 'POST ', __WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/grupo/' + grupo.idcentroeducativo + '/' + grupo.anio + '/' + grupo.grado + '/' + grupo.grupo + '/archivo', '\n', '___________________________');
return this.http.post(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/grupo/' + grupo.idcentroeducativo + '/' + grupo.anio + '/' + grupo.grado + '/' + grupo.grupo + '/archivo', archId, options)
.map(function (res) { return res.json(); })
.catch(this.handleError);
};
......@@ -2339,32 +2339,32 @@ var MoodleService = (function () {
MoodleService.prototype.addNewSchool = function (nombre, moodleuri, servicename, servicetoken) {
var headers = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["l" /* Headers */]({ 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + this.authService.getToken() });
var options = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["g" /* RequestOptions */]({ headers: headers });
var data = { "liceoid": '',
var data = { "idcentroeducativo": '',
"nombre": nombre,
"moodleuri": moodleuri,
"servicename": servicename,
"servicetoken": servicetoken
};
return this.http.post(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/liceo/addNewSchool', JSON.stringify(data), options)
return this.http.post(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/centroeducativo/addNewSchool', JSON.stringify(data), options)
.map(function (response) { });
};
MoodleService.prototype.deleteSchool = function (liceoId) {
MoodleService.prototype.deleteSchool = function (idcentroeducativo) {
var headers = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["l" /* Headers */]({ 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + this.authService.getToken() });
var options = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["g" /* RequestOptions */]({ headers: headers });
return this.http.delete(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/liceo/' + liceoId, options)
return this.http.delete(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/centroeducativo/' + idcentroeducativo, options)
.map(function (response) { });
};
MoodleService.prototype.updateSchool = function (liceoId, liceoName, liceoMoodleUri, servicename, servicetoken, admins) {
MoodleService.prototype.updateSchool = function (idcentroeducativo, centroeducativoName, centroeducativoMoodleUri, servicename, servicetoken, admins) {
var headers = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["l" /* Headers */]({ 'Content-Type': 'application/json', 'Authorization': 'Bearer ' + this.authService.getToken() });
var options = new __WEBPACK_IMPORTED_MODULE_0__angular_http__["g" /* RequestOptions */]({ headers: headers });
var data = { "liceoid": liceoId,
"nombre": liceoName,
"moodleuri": liceoMoodleUri,
var data = { "idcentroeducativo": idcentroeducativo,
"nombre": centroeducativoName,
"moodleuri": centroeducativoMoodleUri,
"servicename": servicename,
"servicetoken": servicetoken,
"adminnames": admins
};
return this.http.post(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/liceo/updateSchool', JSON.stringify(data), options)
return this.http.post(__WEBPACK_IMPORTED_MODULE_3__config__["a" /* SERVER */] + '/servicios/centroeducativo/updateSchool', JSON.stringify(data), options)
.map(function (response) { });
};
MoodleService.ctorParameters = function () { return [{ type: __WEBPACK_IMPORTED_MODULE_0__angular_http__["i" /* Http */] }, { type: __WEBPACK_IMPORTED_MODULE_1__authentication_service__["a" /* AuthenticationService */] }]; };
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -4,7 +4,7 @@
"license": "MIT",
"scripts": {
"ng": "ng",
"start": "ng serve",
"start": "ng serve --host 0.0.0.0",
"build": "ng build --aot",
"test": "ng test",
"lint": "ng lint",
......
......@@ -147,7 +147,7 @@
<div class="pull-left mr-2" *ngIf="esAlumno && (archivoSeleccionado?.estado == 'Entregado')">{{archivoSeleccionado.estado}} - </div>
<div class="pull-right" *ngIf="showLoadingFileIndicator">
cargando <img width=20 src="assets/img/cargaliceo.gif" alt=" ...">
cargando <img width=20 src="assets/img/cargacentroeducativo.gif" alt=" ...">
</div>
......
......@@ -19,7 +19,7 @@ export interface ConfirmModel {
<div class="modal-body" style="height:350px;overflow-y: scroll;">
<div>
<div class="list-group">
<button *ngFor="let g of grupos" type="button" (click)="seleccionarGrupo(g)" style="cursor:pointer" class="list-group-item list-group-item-action" [ngClass]="{'active':grupo!=undefined && g.grado == grupo.grado && g.grupo == grupo.grupo && g.anio == grupo.anio && g.liceoId == grupo.liceoId}">
<button *ngFor="let g of grupos" type="button" (click)="seleccionarGrupo(g)" style="cursor:pointer" class="list-group-item list-group-item-action" [ngClass]="{'active':grupo!=undefined && g.grado == grupo.grado && g.grupo == grupo.grupo && g.anio == grupo.anio && g.idcentroeducativo == grupo.idcentroeducativo}">
<i class="fa fa-group" style="margin-right:10px; font-size: 3em; cursor: pointer;" aria-hidden="true" ></i>
{{g.grado+"°"+g.grupo+" - "+g.anio}}
</button>
......
.bold {color: #777777; font-weight: 900}
.grayText {color: #888888}
.card{
min-height: 400px !important;
}
......@@ -8,7 +11,7 @@
text-decoration: underline;
}
.liceomsg{
.centroeducativomsg{
color: gray;
}
.disableLinkSyle{
......
......@@ -6,6 +6,7 @@ import { EstadoSistemaService } from '../../shared/services/estadosistema.servic
import { AuthenticationService } from '../../shared/services/authentication.service';
import * as _ from "lodash";
@Component({
moduleId: module.id,
selector: 'estadosistema',
......@@ -15,7 +16,7 @@ import * as _ from "lodash";
export class EstadoSistemaComponent implements OnInit {
liceoSeleccionado: any;
centroeducativoSeleccionado: any;
cursoSeleccionado: any;
fechainicio : any;
fechafin : any;
......@@ -23,13 +24,17 @@ export class EstadoSistemaComponent implements OnInit {
modalContent: any;
tiempos: any[];
estadistico: any;
esAdminLiceo: boolean = false;
esAdmincentroeducativo: boolean = false;
usuarioTotalTooltip: string = 'Hace referencia a cualquier referencia a el curso seleccionado usando matefun.\nEj: Leer archivos de curso.\n compartir archivos a alumnos de un curso.\n entregar trabajo para el curso, etc.';
loading: boolean = false;
loadingTiempos: boolean = false;
tipoFuncion: string;
nombreFuncion: string;
tipoOrden: string = 'promediodia-up';
refreshRate : any = 0;
estadoServidor: any = null;
internalId: any = null;
setOrder(criteria: string){
console.log ('setOrder')
......@@ -79,18 +84,91 @@ export class EstadoSistemaComponent implements OnInit {
}
async ngOnInit() {
this.loading = false;
this.schoolList = await this.authenticationService.getAllSchools().toPromise();
this.schoolList.push({liceoid: 0, nombre : 'Todos'});
const user : Usuario = Usuario.getUser();
this.esAdminLiceo = user.esAdminLiceo();
if (this.esAdminLiceo){
this.liceoSeleccionado = this.schoolList.find ( (l: any) => l.liceoid === user.liceoId);
this.esAdmincentroeducativo = user.esAdmincentroeducativo();
const centrosEducativos = await this.authenticationService.getAllSchools().toPromise();
console.log('centrosEducativos: ' , centrosEducativos)
if (this.esAdmincentroeducativo) {
this.centroeducativoSeleccionado = centrosEducativos.find ((l: any) => l.idcentroeducativo === user.idcentroeducativo);
this.actualizarData();
} else {
this.schoolList = [...centrosEducativos, {idcentroeducativo: 0, nombre : 'Todos'}];
}
this.estadoServidor = {
backend: {carga: '', cpu: '', ip: '', mem: '', nombre: '', pid: '', puerto: ''},
frontend: {nombre: '', ip: '', puerto: '', carga: '', pid: '', cpu: '', mem: ''},
bd: {ip: '', motor: '', nombre: '', puerto: '', schema: '', tam: ''}
};
}
cambioLiceo() {
startInterval () {
this.refreshRate = 1500;
this.updateServerStatus(true);
this.internalId = setInterval(() => {
this.updateServerStatus();
}, this.refreshRate);
}
clickTab(event){
if (event.srcElement.innerText !== 'Estado Servidores'){
console.log('frenando')
this.stopInterval();
}else{
if (this.refreshRate == '0'){
console.log('no estaba corriendo: correr')
this.startInterval();
}else{
console.log('estaba corriendo: no hacer nada')
}
}
}
cambioRefreshRate(update) {
clearInterval(this.internalId);
if (this.refreshRate != '0'){
this.updateServerStatus();
this.internalId = setInterval(() => {
this.updateServerStatus();
}, this.refreshRate);
}
}
stopInterval() {
this.refreshRate = '0';
clearInterval(this.internalId);
}
consultar(){
this.updateServerStatus(true);
}
updateServerStatus(all: boolean = false) {
this.estadosistemaservice.getEstadoServidor(all).subscribe(
estado => {
if (all || this.refreshRate!='0'){
Object.keys(estado).forEach((key) => {
const serverData = estado[key];
Object.keys(serverData).forEach((innerKey) => {
if (serverData[innerKey] !== '') {
this.estadoServidor[key][innerKey] = serverData[innerKey];
}
});
});
this.estadoServidor.bd.ip = this.estadoServidor.backend.ip; //TODO: modificar esto
}
},
error => {
console.log(error);
}
);
}
cambiocentroeducativo() {
this.cursoSeleccionado = undefined;
this.actualizarData();
}
......@@ -110,23 +188,23 @@ export class EstadoSistemaComponent implements OnInit {
actualizarDataEstadoSistema() {
if (!this.liceoSeleccionado || this.liceoSeleccionado=='undefined')
if (!this.centroeducativoSeleccionado || this.centroeducativoSeleccionado=='undefined')
return;
const liceo = !!this.liceoSeleccionado ? this.liceoSeleccionado.liceoid : null;
const centroeducativo = !!this.centroeducativoSeleccionado ? this.centroeducativoSeleccionado.idcentroeducativo : null;
const inicio = this.fechainicio ? ((this.fechainicio.year + '-') + (this.fechainicio.month + '-') + (this.fechainicio.day)) : '1970-01-01';
const fin = this.fechafin ? ((this.fechafin.year + '-') + (this.fechafin.month + '-') + (this.fechafin.day)) : '3000-01-01';
this.loading = true;
this.estadosistemaservice.getEstadoSistema(liceo, inicio, fin).subscribe(
this.estadosistemaservice.getEstadoSistema(centroeducativo, inicio, fin).subscribe(
dataEstadoSistema => {
this.loading = false;
console.log ('dataEstadoSistema: ' , dataEstadoSistema)
this.liceoSeleccionado.archivosAccedidos = dataEstadoSistema.archivosAccedidos;
this.liceoSeleccionado.cantidadLogueadosPeriodo = dataEstadoSistema.cantidadLogueadosPeriodo;
this.liceoSeleccionado.cursos = dataEstadoSistema.cursos;
this.liceoSeleccionado.logueadosActualmente = dataEstadoSistema.logueadosActualmente;
this.liceoSeleccionado.url = dataEstadoSistema.url;
this.centroeducativoSeleccionado.archivosAccedidos = dataEstadoSistema.archivosAccedidos;
this.centroeducativoSeleccionado.cantidadLogueadosPeriodo = dataEstadoSistema.cantidadLogueadosPeriodo;
this.centroeducativoSeleccionado.cursos = dataEstadoSistema.cursos;
this.centroeducativoSeleccionado.logueadosActualmente = dataEstadoSistema.logueadosActualmente;
this.centroeducativoSeleccionado.url = dataEstadoSistema.url;
},
error => {
this.loading = false;
......@@ -136,13 +214,13 @@ export class EstadoSistemaComponent implements OnInit {
}
actualizarDataTiempos() {
if (!this.liceoSeleccionado || this.liceoSeleccionado=='undefined')
if (!this.centroeducativoSeleccionado || this.centroeducativoSeleccionado=='undefined')
return;
const liceo = !!this.liceoSeleccionado ? this.liceoSeleccionado.liceoid : null;
const centroeducativo = !!this.centroeducativoSeleccionado ? this.centroeducativoSeleccionado.idcentroeducativo : null;
const inicio = this.fechainicio ? ((this.fechainicio.year + '-') + (this.fechainicio.month + '-') + (this.fechainicio.day)) : '1970-01-01';
const fin = this.fechafin ? ((this.fechafin.year + '-') + (this.fechafin.month + '-') + (this.fechafin.day)) : '3000-01-01';
this.loadingTiempos = true;
this.estadosistemaservice.getTiempos(liceo, inicio, fin).subscribe(
this.estadosistemaservice.getTiempos(centroeducativo, inicio, fin).subscribe(
data => {
this.loadingTiempos = false;
this.tiempos = data;
......@@ -201,7 +279,7 @@ export class EstadoSistemaComponent implements OnInit {
{parent: this,
tipo: tipo,
modalContent: tipo=='share' ? this.cursoSeleccionado.archivosCompartidos :
(tipo=='file' ? this.liceoSeleccionado.archivosAccedidos: this.cursoSeleccionado.tareasExistentes),
(tipo=='file' ? this.centroeducativoSeleccionado.archivosAccedidos: this.cursoSeleccionado.tareasExistentes),
}).subscribe((_)=>{ });
}
......@@ -212,17 +290,17 @@ export class EstadoSistemaComponent implements OnInit {
this.cursoSeleccionado != -1;
}
get seleccionaLiceo(): boolean {
return this.liceoSeleccionado !== undefined &&
this.liceoSeleccionado !== 'undefined' &&
this.liceoSeleccionado !== null;
get seleccionacentroeducativo(): boolean {
return this.centroeducativoSeleccionado !== undefined &&
this.centroeducativoSeleccionado !== 'undefined' &&
this.centroeducativoSeleccionado !== null;
}
get calcularAccesoACurso(): number{
if (!!this.liceoSeleccionado && !!this.liceoSeleccionado.cursos) {
if (!!this.centroeducativoSeleccionado && !!this.centroeducativoSeleccionado.cursos) {
let cantidad = 0;
for (let curso of this.liceoSeleccionado.cursos) {
if (curso.idLiceo>0 && curso.idCurso>0) {
for (let curso of this.centroeducativoSeleccionado.cursos) {
if (curso.idcentroeducativo>0 && curso.idCurso>0) {
if (curso.archivosCompartidos!=null && curso.archivosCompartidos!=undefined) {
cantidad += curso.archivosCompartidos.length;
}
......
......@@ -31,7 +31,7 @@ export interface ConfirmModel {
</div>
<div class="modal-footer">
<img *ngIf="cargando" width=35 src="assets/img/cargaliceo.gif" alt=" ...">
<img *ngIf="cargando" width=35 src="assets/img/cargacentroeducativo.gif" alt=" ...">
<button type="button" class="btn btn-secondary" (click)="cancel()"> {{ archivo.evaluacion.corregido ? 'Cerrar' : 'Cancelar' }}</button>
<button *ngIf="!archivo.evaluacion.corregido" type="button" class="btn btn-success" (click)="confirm()">Calificar</button>
</div>
......
......@@ -245,7 +245,7 @@
</div>
<div class="pull-right" *ngIf="showLoadingFileIndicator">
cargando <img width=20 src="assets/img/cargaliceo.gif" alt=" ...">
cargando <img width=20 src="assets/img/cargacentroeducativo.gif" alt=" ...">
</div>
</div>
......
......@@ -17,13 +17,13 @@
<div id="matricular" style="border: 1px solid #B8B8B8; border-radius: 5px;" class="paddingdivs">
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8"><p>Ingresar una nueva institucion educativa</p></div>
<div class="col-md-8"><p>Ingresar un nuevo centro educativo</p></div>
<div class="col-md-2"></div>
</div>
<div id="matricular"class="row paddingdivs">
<div class="col-md-1"></div>
<div class="col-md-10">
<label for="search">Nombre de Liceo:</label>
<label for="search">Nombre del centro educativo:</label>
<div class="input-group">
<input type="text" autocomplete="off" class="form-control" id="ietiqueta" [(ngModel)]="ietiqueta" [ngModelOptions]="{standalone: true}" >
</div>
......@@ -64,7 +64,7 @@
<div class="row">
<div class="col-md-8"></div>
<div class="col-md-4">
<button type="button" class="btn btn-success" (click)="addSchool()" >Ingresar</button>
<button type="button" class="btn btn-success" (click)="addSchool()">Ingresar</button>
</div>
</div>
</div>
......@@ -74,7 +74,7 @@
<div id="matricular" style="border: 1px solid #B8B8B8; border-radius: 5px;" class="paddingdivs">
<div class="row">
<div class="col-md-2"></div>
<div class="col-md-8"><p>Editar/Eliminar institucion educativa</p></div>
<div class="col-md-8"><p>Editar/Eliminar centro educativo</p></div>
<div class="col-md-2"></div>
</div>
<div id="matricular" class="row">
......@@ -87,18 +87,18 @@
</colgroup>
<tr *ngFor="let school of schoolList">
<td class="td30" class="smallText">
<span class="{{viewclass[school.order]}}"><span class="bold">Nombre Liceo:</span> {{school.nombre}}</span>
<input class="{{editclass[school.order]}} altoFijo" id="nombre{{school.order}}" [(ngModel)]="editliceoname[school.order]" type="text"/>
<span class="{{viewclass[school.order]}}"><span class="bold">Nombre del centro educativo:</span> {{school.nombre}}</span>
<input class="{{editclass[school.order]}} altoFijo" id="nombre{{school.order}}" [(ngModel)]="editcentroeducativoname[school.order]" type="text"/>
<br/>
<span class="{{viewclass[school.order]}}" ><span class="bold">Nombre Servicio:</span> {{school.servicename}}</span>
<input class="{{editclass[school.order]}} altoFijo" id="servicename{{school.order}}" [(ngModel)]="editliceoservicename[school.order]" type="text"/>
<input class="{{editclass[school.order]}} altoFijo" id="servicename{{school.order}}" [(ngModel)]="editcentroeducativoservicename[school.order]" type="text"/>
</td>
<td class="td30" class="smallText" colspan="2">
<span class="{{viewclass[school.order]}}" ><span class="bold">URI Moodle:</span> {{school.moodleuri}}</span>
<input id="moodle{{school.order}}" class="{{editclass[school.order]}} altoFijo" [(ngModel)]="editmoodleuri[school.order]" type="text"/>
<br/>
<span class="{{viewclass[school.order]}}" ><span class="bold">Token:</span> ******************************** </span>
<input class="{{editclass[school.order]}} altoFijo" id="servicetoken{{school.order}}" [(ngModel)]="editliceoservicetoken[school.order]" type="text"/>
<input class="{{editclass[school.order]}} altoFijo" id="servicetoken{{school.order}}" [(ngModel)]="editcentroeducativoservicetoken[school.order]" type="text"/>
</td>
<td class="td30" >
<img class="{{viewclass[school.order]}}" (click)="edit($event, school)" height="20" alt="edit" src="data:image/png;base64,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" alt="edit" />
......
......@@ -22,9 +22,9 @@ export class IEducativaComponent implements OnInit {
alertStatus : string
viewclass : string[] = []
editclass : string[] = []
editliceoname : string[] = []
editliceoservicename : string[] = []
editliceoservicetoken : string[] = []
editcentroeducativoname : string[] = []
editcentroeducativoservicename : string[] = []
editcentroeducativoservicetoken : string[] = []
editmoodleuri : string[] = []
servicename : string
servicetoken : string
......@@ -42,7 +42,7 @@ export class IEducativaComponent implements OnInit {
}
}
getTodosLosLiceos(){
getTodosLoscentroeducativos(){
this.authenticationService.getAllSchools().subscribe(
data => {
......@@ -58,10 +58,10 @@ export class IEducativaComponent implements OnInit {
this.ietiqueta='';
this.iurl='';
this.alertStatus = 'hidden'
this.getTodosLosLiceos();
this.getTodosLoscentroeducativos();
}
resetAddLiceoForm(){
resetAddcentroeducativoForm(){
this.ietiqueta =
this.iurl =
this.servicename =
......@@ -88,19 +88,19 @@ export class IEducativaComponent implements OnInit {
addSchool() {
const data = { "liceoid": '' ,
const data = { "idcentroeducativo": '' ,
"nombre": this.ietiqueta,
"moodleuri": this.iurl,
"servicename" : this.servicename,
"servicetoken" : this.servicetoken
}
//'/servicios/liceo/addNewSchool
//'/servicios/centroeducativo/addNewSchool
this.genericServices.POST('/servicios/liceo/addNewSchool',data).subscribe(
this.genericServices.POST('/servicios/centroeducativo/addNewSchool',data).subscribe(
data => {
this.showAlert(this.ietiqueta + ' agregado con exito.')
this.resetAddLiceoForm();
this.getTodosLosLiceos();
this.resetAddcentroeducativoForm();
this.getTodosLoscentroeducativos();
},
error => {
this.showErrorAlert('Error al agregar ' + data.nombre)
......@@ -110,17 +110,17 @@ export class IEducativaComponent implements OnInit {
delete(event, liceo){
if (confirm("Esta seguro que desea eliminar el liceo: " + liceo.nombre + "?")) {
this.moodleService.deleteSchool(liceo.liceoid).subscribe(
delete(event, centroeducativo){
if (confirm("Esta seguro que desea eliminar el centroeducativo: " + centroeducativo.nombre + "?")) {
this.moodleService.deleteSchool(centroeducativo.idcentroeducativo).subscribe(
data => {
this.showAlert(liceo.nombre + ' eliminado con exito')
this.showAlert(centroeducativo.nombre + ' eliminado con exito')
this.schoolList = this.schoolList.filter(function(value, index, arr){
return value.liceoid != liceo.liceoid;
return value.idcentroeducativo != centroeducativo.idcentroeducativo;
});
},
error => {
this.showErrorAlert('Error al eliminar el liceo ' + liceo.nombre )
this.showErrorAlert('Error al eliminar el centroeducativo ' + centroeducativo.nombre )
}
);
}
......@@ -130,10 +130,10 @@ export class IEducativaComponent implements OnInit {
edit(event, item){
this.viewclass[item.order] = 'hidden'
this.editclass[item.order] = 'visible'
this.editliceoname[item.order] = item.nombre
this.editcentroeducativoname[item.order] = item.nombre
this.editmoodleuri[item.order] = item.moodleuri
this.editliceoservicename[item.order] = item.servicename
this.editliceoservicetoken[item.order] = item.servicetoken
this.editcentroeducativoservicename[item.order] = item.servicename
this.editcentroeducativoservicetoken[item.order] = item.servicetoken
}
canceledit(event, item){
......@@ -148,24 +148,24 @@ export class IEducativaComponent implements OnInit {
save(event, item){
const data = { "liceoid": item.liceoid,
"nombre": this.editliceoname[item.order],
const data = { "idcentroeducativo": item.idcentroeducativo,
"nombre": this.editcentroeducativoname[item.order],
"moodleuri": this.editmoodleuri[item.order],
"servicename": this.editliceoservicename[item.order],
"servicetoken": this.editliceoservicetoken[item.order]
"servicename": this.editcentroeducativoservicename[item.order],
"servicetoken": this.editcentroeducativoservicetoken[item.order]
}
this.genericServices.POST('/servicios/liceo/updateSchool',data).subscribe(
this.genericServices.POST('/servicios/centroeducativo/updateSchool',data).subscribe(
data => {
this.showAlert('Liceo ' + item.nombre + ' actualizado con exito.')
this.schoolList[item.order].nombre = this.editliceoname[item.order]
this.showAlert('centroeducativo ' + item.nombre + ' actualizado con exito.')
this.schoolList[item.order].nombre = this.editcentroeducativoname[item.order]
this.schoolList[item.order].moodleuri = this.editmoodleuri[item.order]
this.schoolList[item.order].servicename = this.editliceoservicename[item.order]
this.schoolList[item.order].servicetoken = this.editliceoservicetoken[item.order]
this.schoolList[item.order].servicename = this.editcentroeducativoservicename[item.order]
this.schoolList[item.order].servicetoken = this.editcentroeducativoservicetoken[item.order]
this.resetEditForm();
},
error => {
this.showErrorAlert('Error al actualizar liceo: ' + item.nombre)
this.showErrorAlert('Error al actualizar centroeducativo: ' + item.nombre)
}
);
......
......@@ -15,25 +15,32 @@
<input type="password" [(ngModel)]="model.password" (keyup.enter)=login() name="password" class="form-control input-underline input-lg" placeholder="Contraseña">
</div>
<div *ngIf="mostrarSelect" class="rectangle">
<img *ngIf="!liceoscargados" width=50 src="assets/img/cargaliceo.gif" alt="CARGA LICEO">
<div *ngIf="liceoscargados && !errorCargaLiceo" class="form-group">
<p *ngIf="!soloHayUnLiceo" >Seleccione un liceo</p>
<select *ngIf="!soloHayUnLiceo" [(ngModel)]="liceoSeleccionado" [ngModelOptions]="{standalone: true}">
<option *ngFor="let school of schoolList" value="{{school.liceoid}}">{{school.nombre}}</option>
</select>
<img *ngIf="!centroeducativoscargados" width=50 src="assets/img/cargacentroeducativo.gif" alt="CARGA centroeducativo">
<div *ngIf="centroeducativoscargados && !errorCargacentroeducativo" class="form-group">
<p *ngIf="!soloHayUncentroeducativo" >Seleccione un Centro Educativo</p>
<div class="row">
<div class="col-md-3"></div>
<div class="col-md-6">
<select class="form-control" *ngIf="!soloHayUncentroeducativo" [(ngModel)]="centroeducativoSeleccionado" [ngModelOptions]="{standalone: true}">
<option *ngFor="let school of schoolList" value="{{school.idcentroeducativo}}">{{school.nombre}}</option>
</select>
</div>
<div class="col-md-3"></div>
</div>
</div>
<p *ngIf="liceoscargados && soloHayUnLiceo" style="color:#2BCD2B;">Te vas a conectar a: <span style="font-weight: bold">{{schoolList[0].nombre}}</span></p>
<p *ngIf="errorCargaLiceo" style="color:red;">{{mensaje}}</p>
<p *ngIf="centroeducativoscargados && soloHayUncentroeducativo" style="color:#2BCD2B;">Te vas a conectar a: <span style="font-weight: bold">{{schoolList[0].nombre}}</span></p>
<p *ngIf="errorCargacentroeducativo" style="color:red;">{{mensaje}}</p>
</div>
<div *ngIf="!mostrarSelect" class="rectangle">
<p *ngIf="!errorCargaLiceo" style="font-weight: bold; color:#2BCD2B;">{{mensaje}}</p>
<p *ngIf="errorCargaLiceo" style="color:red; font-weight: bold;">{{mensaje}}</p>
<p *ngIf="!errorCargacentroeducativo" style="font-weight: bold; color:#2BCD2B;">{{mensaje}}</p>
<p *ngIf="errorCargacentroeducativo" style="color:red; font-weight: bold;">{{mensaje}}</p>
</div>
</div>
</div>
<div *ngIf="loginCommands">
<a *ngIf="!errorCargaLiceo || matefunAdmin==model.cedula" class="btn rounded-btn" style="background: transparent;color: white;cursor: pointer;width: 159px;margin-right: 3px;" (click)=login()> Iniciar Sesión </a>
<a *ngIf="!errorCargacentroeducativo || matefunAdmin==model.cedula" class="btn rounded-btn" style="background: transparent;color: white;cursor: pointer;width: 159px;margin-right: 3px;" (click)=login()> Iniciar Sesión </a>
<!-- <a *ngIf="matefunAdmin!=model.cedula" class="btn rounded-btn" style="background: transparent;color: white;cursor: pointer;width: 159px;margin-left: 3px;" (click)=invitado()> Invitado </a> -->
&nbsp;
</div>
......
......@@ -21,10 +21,10 @@ export class LoginComponent implements OnInit {
returnUrl: string;
loginCommands = true;
schoolList = [];
liceoscargados = false
soloHayUnLiceo = false;
errorCargaLiceo = false;
liceoSeleccionado: any;
centroeducativoscargados = false
soloHayUncentroeducativo = false;
errorCargacentroeducativo = false;
centroeducativoSeleccionado: any;
cursoSeleccionado: string;
cursosUsuario: object[];
mensaje: string;
......@@ -63,13 +63,13 @@ export class LoginComponent implements OnInit {
cedulaChange(event){
console.log ('ejecutashit: ' , event);
if (!this.errorCargaLiceo){
if (!this.errorCargacentroeducativo){
this.mostrarSelect = (event!=this.matefunAdmin)
if (!this.mostrarSelect){
//this.liceoSeleccionado = '1'
//this.centroeducativoSeleccionado = '1'
this.mensaje = 'ADMIN MATEFUN'
}else{
//this.liceoSeleccionado = undefined
//this.centroeducativoSeleccionado = undefined
this.mensaje = undefined
}
}
......@@ -87,28 +87,28 @@ export class LoginComponent implements OnInit {
this.matefunAdmin = data;
if (!this.matefunAdmin){
this.mostrarSelect = false;
this.errorCargaLiceo = true;
this.errorCargacentroeducativo = true;
this.mensaje = 'No se encuentra configurado el administrador de matefun'
}else{
this.soloHayUnLiceo = (this.schoolList.length==1)
this.soloHayUncentroeducativo = (this.schoolList.length==1)
if (this.schoolList.length==0) {
this.mensaje = 'No hay liceos cargados'
this.errorCargaLiceo = true;
}else if (this.soloHayUnLiceo){
this.mensaje = 'No hay centroeducativos cargados'
this.errorCargacentroeducativo = true;
}else if (this.soloHayUncentroeducativo){
this.liceoSeleccionado = this.schoolList[0].liceoid;
this.errorCargaLiceo = false;
this.centroeducativoSeleccionado = this.schoolList[0].idcentroeducativo;
this.errorCargacentroeducativo = false;
}else{
this.errorCargaLiceo = false;
this.errorCargacentroeducativo = false;
}
this.liceoscargados = true
this.centroeducativoscargados = true
}
},
error => {
this.mostrarSelect = false;
this.errorCargaLiceo = true;
this.mensaje = 'Error en la carga de liceos'
this.errorCargacentroeducativo = true;
this.mensaje = 'Error en la carga de centroeducativos'
}
);
......@@ -116,9 +116,9 @@ export class LoginComponent implements OnInit {
},
error => {
this.mensaje = 'Error al cargar los liceos'
this.errorCargaLiceo = true;
this.liceoscargados = true;
this.mensaje = 'Error al cargar los Centros Educativos'
this.errorCargacentroeducativo = true;
this.centroeducativoscargados = true;
}
);
}
......@@ -129,38 +129,38 @@ export class LoginComponent implements OnInit {
this.loading = true;
if (this.matefunAdmin !== this.model.cedula && !this.liceoSeleccionado){
if (this.matefunAdmin !== this.model.cedula && !this.centroeducativoSeleccionado){
this.loading = false;
this.error = true;
this.errorText = 'Debe seleccionar un liceo'
this.errorText = 'Debe seleccionar un Centro Educativo'
return;
}
if (!this.model.cedula){
this.loading = false;
this.error = true;
this.errorText = 'Debe introducir cedula'
this.errorText = 'Debe introducir Usuario'
return;
}
if (!this.model.password){
this.loading = false;
this.error = true;
this.errorText = 'Debe introducir contrasena'
this.errorText = 'Debe introducir contraseña'
return;
}
console.log ('this.liceoSeleccionado: ' , this.liceoSeleccionado)
console.log ('this.centroeducativoSeleccionado: ' , this.centroeducativoSeleccionado)
var that = this;
this.authenticationService.login(this.model.cedula, this.model.password, this.liceoSeleccionado)
this.authenticationService.login(this.model.cedula, this.model.password, this.centroeducativoSeleccionado)
.subscribe(
data => {
that.sessionService.reset();
this.returnUrl = '/matefun';
const user: Usuario = Usuario.getUser();
if ( !user.esAdmin() && !user.esAdminLiceo() ){
if ( !user.esAdmin() && !user.esAdmincentroeducativo() ){
this.authenticationService.getLoginAdditionalInformation().subscribe(
data => { }, error => { }
);
......
<div class="pos-f-t fixed-top header" style="z-index: 1100;">
<div class="pos-f-t fixed-top header" style="z-index: 1100;" (click)="clickHeader()">
<nav class="navbar navbar-inverse bg-inverse navbar-toggleable-md" style="background: #0278AE !important;">
<button class="navbar-toggler navbar-toggler-left" style="display: block;" (click)="toggleSidebar($event)">
<span class="navbar-toggler-icon"></span>
......
......@@ -26,6 +26,7 @@ export class HeaderComponent implements OnInit {
ngOnInit() {}
toggleSidebar(event) {
this.clickHeader();
event.stopPropagation();
const dom: any = document.querySelector('body');
dom.classList.toggle('push-right');
......@@ -42,4 +43,7 @@ export class HeaderComponent implements OnInit {
this.ghciService.desconectarWS();
this.router.navigate(['/login']);
}
clickHeader(){
console.log ('click header');
}
}
......@@ -12,13 +12,13 @@
<a *ngIf="esDocente()" [routerLink]="['/grupos']" (click)=toggleSidebar() [routerLinkActive]="['router-link-active']" class="list-group-item" style="color: white;">
<i class="fa fa-fw fa-users"></i>&nbsp;Grupos
</a>
<a *ngIf="esAdminLiceo()" [routerLink]="['/cursos']" (click)=toggleSidebar() [routerLinkActive]="['router-link-active']" class="list-group-item" style="color: white;">
<a *ngIf="esAdmincentroeducativo()" [routerLink]="['/cursos']" (click)=toggleSidebar() [routerLinkActive]="['router-link-active']" class="list-group-item" style="color: white;">
<i class="fa fa-graduation-cap"></i>&nbsp;Cursos
</a>
<a *ngIf="esAdmin()" [routerLink]="['/ieducativa']" (click)=toggleSidebar() [routerLinkActive]="['router-link-active']" class="list-group-item" style="color: white;">
<i class="fa fa-fw fa-users"></i>&nbsp;Gestion Liceos
<i class="fa fa-fw fa-users"></i>&nbsp;Gestion de Centros Educativos
</a>
<a *ngIf="esAdmin() || esAdminLiceo()" [routerLink]="['/estadosistema']" (click)=toggleSidebar() [routerLinkActive]="['router-link-active']" class="list-group-item" style="color: white;">
<a *ngIf="esAdmin() || esAdmincentroeducativo()" [routerLink]="['/estadosistema']" (click)=toggleSidebar() [routerLinkActive]="['router-link-active']" class="list-group-item" style="color: white;">
<i class="fa fa-fw fa-cog"></i>&nbsp;Estado Subsistemas
</a>
</ul>
......
......@@ -53,9 +53,9 @@ export class SidebarComponent {
return this.usuario.esAdmin();
}
esAdminLiceo() : boolean{
esAdmincentroeducativo() : boolean{
this.usuario = Usuario.getUser();
return this.usuario.esAdminLiceo();
return this.usuario.esAdmincentroeducativo();
}
@ViewChild('sidebarNav') sidebarNav: ElementRef;
......
......@@ -72,7 +72,7 @@ export interface ConfirmModel {
</div>
</div>
<div class="modal-footer">
<img *ngIf="cargando" width=35 src="assets/img/cargaliceo.gif" alt=" ...">
<img *ngIf="cargando" width=35 src="assets/img/cargacentroeducativo.gif" alt=" ...">
<button type="button" [ngClass]="{'btn':true, 'btn-success': habilitado, 'btn-secondary': !habilitado }" (click)="confirm()">{{confirmText || 'Confirmar'}}</button>
<button type="button" class="btn btn-danger" (click)="close()" >{{cancelText || 'Cancelar'}}</button>
</div>
......
......@@ -13,7 +13,7 @@ export interface DetalleModel {
<div class="modal-content" [ngStyle]="{ 'width': tipo !== 'task' ? '700px' : '900px' }" >
<div class="modal-header" [ngStyle]="{ 'width': tipo !== 'task' ? '700px' : '900px' }" >
<h6 class="modal-title" *ngIf="tipo=='share'">Detalle Archivos Compartidos de {{ parent.cursoSeleccionado.nombre }}</h6>
<h6 class="modal-title" *ngIf="tipo=='file'">Archivos accedidos {{ parent.liceoSeleccionado.nombre }}</h6>
<h6 class="modal-title" *ngIf="tipo=='file'">Archivos accedidos {{ parent.centroeducativoSeleccionado.nombre }}</h6>
<h6 class="modal-title" *ngIf="tipo=='task'">Detalle Tareas de {{ parent.cursoSeleccionado.nombre }}</h6>
<button type="button" class="close" (click)="close()" style="margin-left:8px;">&times;</button>
</div>
......@@ -28,7 +28,7 @@ export interface DetalleModel {
<th scope="col">Tipo</th>
<th *ngIf="tipo=='file'" scope="col">Usuario</th>
<th scope="col">Fecha</th>
<th scope="col">Liceo</th>
<th scope="col">centroeducativo</th>
</tr>
</thead>
<tbody>
......@@ -38,14 +38,14 @@ export interface DetalleModel {
<td>{{ tipo=='file' ? file.tipo : file.additionalData }}</td>
<td *ngIf="tipo=='file'">{{ file.additionalData }}</td>
<td>{{ file.fecha }}</td>
<td>{{ file.nombreliceo }}</td>
<td>{{ file.nombrecentroeducativo }}</td>
</tr>
</tbody>
</div>
<div *ngIf="tipo=='task'" style="overflow-y: scroll; height:400px;">
<thead>
<tr>
<th scope="col">Liceo</th>
<th scope="col">centroeducativo</th>
<th scope="col">Nombre curso</th>
<th scope="col">Nombre Tarea</th>
<th scope="col">Tipo</th>
......@@ -56,7 +56,7 @@ export interface DetalleModel {
</thead>
<tbody>
<tr *ngFor="let tarea of modalContent">
<td>{{ tarea.nombreliceo }}</td>
<td>{{ tarea.nombrecentroeducativo }}</td>
<td>{{ tarea.nombrecurso }}</td>
<td>{{ tarea.nombre }}</td>
<td>{{ tarea.tipo }}</td>
......
......@@ -5,17 +5,17 @@ export class Grupo {
anio: number;
grado: number;
grupo: string;
liceoId: number;
idcentroeducativo: number;
archivos: Archivo[];
alumnos: Usuario[];
nombreCurso: string;
courseId: number;
constructor(anio: number, grado: number, grupo: string, liceoId:number, archivos: Archivo[], alumnos:Usuario[], courseId: number, nombreCurso: string ) {
constructor(anio: number, grado: number, grupo: string, idcentroeducativo:number, archivos: Archivo[], alumnos:Usuario[], courseId: number, nombreCurso: string ) {
this.anio = anio;
this.grado = grado;
this.grupo = grupo;
this.liceoId = liceoId;
this.idcentroeducativo = idcentroeducativo;
this.archivos = archivos;
this.alumnos = alumnos;
this.nombreCurso = nombreCurso;
......
......@@ -65,7 +65,7 @@ export class Usuario{
nombre: string;
apellido: string;
tipo: string;
liceoId: number;
idcentroeducativo: number;
configuracion: Configuracion;
todosLosCursos: MoodleCourseDTO[];
archivos? : any[];
......@@ -78,7 +78,7 @@ export class Usuario{
this.cedula = currentUser.cedula;
this.nombre = currentUser.nombre;
this.apellido = currentUser.apellido;
this.liceoId = currentUser.liceoId;
this.idcentroeducativo = currentUser.idcentroeducativo;
this.tipo = currentUser.tipo;
this.todosLosCursos = !currentUser.todosLosCursos ? [] :
currentUser.todosLosCursos.map( c => new MoodleCourseDTO(c) );
......@@ -126,13 +126,13 @@ export class Usuario{
}
esAlumno() : boolean{
if (this.esAdmin() || this.esAdminLiceo())
if (this.esAdmin() || this.esAdmincentroeducativo())
return false;
return this.checkForRolesMatch(studentRoles);
}
esDocente() : boolean{
if (this.esAdmin() || this.esAdminLiceo())
if (this.esAdmin() || this.esAdmincentroeducativo())
return false;
return this.checkForRolesMatch(teacherRoles);
}
......@@ -141,8 +141,8 @@ export class Usuario{
return this.tipo == "admin";
}
esAdminLiceo() : boolean{
return this.tipo == "adminliceo";
esAdmincentroeducativo() : boolean{
return this.tipo == "admincentroeducativo";
}
getCursosConRolDocente() : MoodleCourseDTO[]{
......
......@@ -14,7 +14,7 @@ export class AuthenticationService {
getAllSchools(){
let headers = new Headers( {'Content-Type': 'application/json' , 'Authorization':'Bearer '+this.getToken() } );
let options = new RequestOptions({ headers: headers });
return this.http.get( SERVER + '/servicios/liceo/getAllLiceos' , options)
return this.http.get( SERVER + '/servicios/centroeducativo/getAllcentroeducativos' , options)
.map((res: Response) => {
return res.json();
}).catch(
......@@ -22,11 +22,11 @@ export class AuthenticationService {
);
}
login( cedula: string, password: string, liceoSeleccionado: string ) {
login( cedula: string, password: string, centroeducativoSeleccionado: string ) {
let headers = new Headers({ 'Content-Type': 'application/json' });
let options = new RequestOptions({ headers: headers });
return this.http.post(SERVER+'/servicios/login', JSON.stringify({ "cedula": cedula, "password": password, "liceo": liceoSeleccionado }),options)
return this.http.post(SERVER+'/servicios/login', JSON.stringify({ "cedula": cedula, "password": password, "centroeducativo": centroeducativoSeleccionado }),options)
.map((response: Response) => {
localStorage.setItem('currentUser', JSON.stringify(response.json()));
console.log('Login ok, usuario: ' , response.json() );
......@@ -58,7 +58,7 @@ export class AuthenticationService {
addNewSchool(nombre: string, moodleuri: string){
let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization':'Bearer '+this.getToken() });
let options = new RequestOptions({ headers: headers });
return this.http.post(SERVER+'/servicios/liceo/addNewSchool', JSON.stringify({ "token": this.getToken(), "nombre": nombre, "moodleuri": moodleuri }) , options )
return this.http.post(SERVER+'/servicios/centroeducativo/addNewSchool', JSON.stringify({ "token": this.getToken(), "nombre": nombre, "moodleuri": moodleuri }) , options )
.map((response: Response) => {
let respJson = response.json();
});
......
......@@ -14,27 +14,35 @@ export class EstadoSistemaService {
constructor(private http: Http, private router: Router, private authService: AuthenticationService) {}
getEstadoSistema(liceo: number, inicio: string, fin: string): Observable<any> {
getEstadoSistema(centroeducativo: number, inicio: string, fin: string): Observable<any> {
let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization':'Bearer ' + this.authService.getToken() });
let params: URLSearchParams = new URLSearchParams();
params.set('fechaInicio', inicio);
params.set('fechaFin', fin);
params.set('liceoId', liceo + '');
params.set('idcentroeducativo', centroeducativo + '');
let options = new RequestOptions({ headers: headers, search: params });
return this.http.get(SERVER+'/servicios/estadosistema', options)
.map((res: Response) => res.json())
.catch(this.handleError);
}
getEstadoServidor(all: boolean = false): Observable<any> {
let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization':'Bearer ' + this.authService.getToken() });
let params: URLSearchParams = new URLSearchParams();
params.set('all', all + '');
let options = new RequestOptions({ headers: headers, search: params });
return this.http.get(SERVER+'/servicios/estadosistema/servidor', options)
.map((res: Response) => res.json())
.catch(this.handleError);
}
getTiempos(liceo: number, inicio: string, fin: string): Observable<any[]> {
getTiempos(centroeducativo: number, inicio: string, fin: string): Observable<any[]> {
let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization':'Bearer ' + this.authService.getToken() });
let params: URLSearchParams = new URLSearchParams();
params.set('fechaInicio', inicio);
params.set('fechaFin', fin);
params.set('liceoId', liceo + '');
params.set('idcentroeducativo', centroeducativo + '');
let options = new RequestOptions({ headers: headers, search: params });
return this.http.get(SERVER+'/servicios/estadosistema/tiempos', options)
......
......@@ -200,9 +200,9 @@ export class HaskellService {
'HaskellService.compartirArchivoGrupo', '\n',
'grupo: ', grupo, '\n',
'archivoId: ', archivoId, '\n',
'POST ', SERVER+'/servicios/grupo/'+grupo.liceoId+'/'+grupo.anio+'/'+grupo.grado+'/'+grupo.grupo+'/archivo' , '\n',
'POST ', SERVER+'/servicios/grupo/'+grupo.idcentroeducativo+'/'+grupo.anio+'/'+grupo.grado+'/'+grupo.grupo+'/archivo' , '\n',
'___________________________')
return this.http.post(SERVER+'/servicios/grupo/'+grupo.liceoId+'/'+grupo.anio+'/'+grupo.grado+'/'+grupo.grupo+'/archivo', archId, options)
return this.http.post(SERVER+'/servicios/grupo/'+grupo.idcentroeducativo+'/'+grupo.anio+'/'+grupo.grado+'/'+grupo.grupo+'/archivo', archId, options)
.map((res: Response) => res.json())
.catch(this.handleError);
}
......
......@@ -14,37 +14,37 @@ export class MoodleService {
addNewSchool(nombre: string, moodleuri: string, servicename: string, servicetoken: string){
let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization':'Bearer '+ this.authService.getToken() });
let options = new RequestOptions({ headers: headers });
let data = { "liceoid": '' ,
let data = { "idcentroeducativo": '' ,
"nombre": nombre,
"moodleuri": moodleuri,
"servicename" : servicename,
"servicetoken" : servicetoken
}
return this.http.post( SERVER + '/servicios/liceo/addNewSchool', JSON.stringify(data) , options )
return this.http.post( SERVER + '/servicios/centroeducativo/addNewSchool', JSON.stringify(data) , options )
.map((response: Response) => { });
}
deleteSchool(liceoId: string){
deleteSchool(idcentroeducativo: string){
let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization':'Bearer '+ this.authService.getToken()});
let options = new RequestOptions({ headers: headers });
return this.http.delete(SERVER+'/servicios/liceo/'+liceoId , options )
return this.http.delete(SERVER+'/servicios/centroeducativo/'+idcentroeducativo , options )
.map((response: Response) => { });
}
updateSchool(liceoId: string, liceoName: string, liceoMoodleUri: string, servicename : string, servicetoken: string, admins: string[] ){
updateSchool(idcentroeducativo: string, centroeducativoName: string, centroeducativoMoodleUri: string, servicename : string, servicetoken: string, admins: string[] ){
let headers = new Headers({ 'Content-Type': 'application/json', 'Authorization':'Bearer ' + this.authService.getToken()});
let options = new RequestOptions({ headers: headers });
let data = { "liceoid": liceoId,
"nombre": liceoName,
"moodleuri": liceoMoodleUri,
let data = { "idcentroeducativo": idcentroeducativo,
"nombre": centroeducativoName,
"moodleuri": centroeducativoMoodleUri,
"servicename": servicename,
"servicetoken": servicetoken,
"adminnames" : admins
}
return this.http.post( SERVER + '/servicios/liceo/updateSchool', JSON.stringify(data) , options )
return this.http.post( SERVER + '/servicios/centroeducativo/updateSchool', JSON.stringify(data) , options )
.map((response: Response) => { });
}
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -4,6 +4,6 @@
moodle_endpoint=https://matefun.moodlecloud.com/
#moodle_endpoint=http://ec2-54-214-190-160.us-west-2.compute.amazonaws.com/moodlelocal
moodle_group=44-3b-IntroMatefun
#El grupo se define como liceoId#grado#grupo#anio
#El grupo se define como idcentroeducativo#grado#grupo#anio
#Si no se sefine default_group entonces no se asigna grupo para docente o alumno.
default_group=0#2#Año#2017
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -4,6 +4,6 @@
moodle_endpoint=http://localhost:80/moodlelocal
#moodle_endpoint=http://ec2-54-214-190-160.us-west-2.compute.amazonaws.com/moodlelocal
moodle_group=44-3b-IntroMatefun
#El grupo se define como liceoId#grado#grupo#anio
#El grupo se define como idcentroeducativo#grado#grupo#anio
#Si no se sefine default_group entonces no se asigna grupo para docente o alumno.
default_group=0#2#Año#2017
......@@ -13,8 +13,8 @@
<!-- <class>edu.proygrado.modelo.Evaluacion</class> -->
<!-- <class>edu.proygrado.modelo.Grupo</class> -->
<!-- <class>edu.proygrado.modelo.GrupoPK</class> -->
<!-- <class>edu.proygrado.modelo.Liceo</class> -->
<!-- <class>edu.proygrado.modelo.LiceoPK</class> -->
<!-- <class>edu.proygrado.modelo.centroeducativo</class> -->
<!-- <class>edu.proygrado.modelo.centroeducativoPK</class> -->
<!-- <class>edu.proygrado.modelo.Usuario</class> -->
<!-- <class>edu.proygrado.modelo.Sesion</class> -->
<!-- <properties> -->
......@@ -37,8 +37,8 @@
<class>edu.proygrado.modelo.Grupete</class>
<class>edu.proygrado.modelo.GrupetePK</class>
<class>edu.proygrado.modelo.Liceo</class>
<class>edu.proygrado.modelo.LiceoPK</class>
<class>edu.proygrado.modelo.centroeducativo</class>
<class>edu.proygrado.modelo.centroeducativoPK</class>
<class>edu.proygrado.modelo.Usuario</class>
<class>edu.proygrado.modelo.Sesion</class>
<properties>
......
......@@ -551,7 +551,7 @@
],
"body": {
"mode": "raw",
"raw": "{\"cedula\":\"alumno1\",\"password\":\"Matefun1.\",\"liceo\":\"1\"}"
"raw": "{\"cedula\":\"alumno1\",\"password\":\"Matefun1.\",\"centroeducativo\":\"1\"}"
},
"url": {
"raw": "http://localhost:8080/servicios/login",
......
INSERT INTO `matefunds`.`LICEO` (MOODLEAPIUSERTOKEN, MOODLEURI,MOODLEWSSERVICE,NOMBRE)
VALUES('b3ddd49822a81a429a45afbcd14bb0ed', 'https://matefun.moodlecloud.com', 'sample', 'Liceo Moodlecloud');
INSERT INTO `matefunds`.`centroeducativo` (MOODLEAPIUSERTOKEN, MOODLEURI,MOODLEWSSERVICE,NOMBRE)
VALUES('b3ddd49822a81a429a45afbcd14bb0ed', 'https://matefun.moodlecloud.com', 'sample', 'centroeducativo Moodlecloud');
INSERT INTO `matefunds`.`USUARIO` (`CEDULA`, `DTYPE`, `APELLIDO`, `COURSEID`, `NOMBRE`, `PASSWORD`, `ROLEID`)
VALUES ('matefunadmin', 'Admin', 'Matefun', NULL, 'Admin', 'dd9048d29561d898bd75276923990ab8ea01bb73', NULL);
INSERT INTO `matefunds`.`USUARIO` (`CEDULA`, `DTYPE`, `APELLIDO`, `COURSEID`, `NOMBRE`, `PASSWORD`, `ROLEID`)
VALUES ('admin', 'AdminLiceo', 'Liceo 1', NULL, 'Admin', 'NO-PASSWORD', NULL);
VALUES ('admin', 'Admincentroeducativo', 'centroeducativo 1', NULL, 'Admin', 'NO-PASSWORD', NULL);
INSERT INTO `matefunds`.`ADMINISTRADORES_LICEO` (`LICEOID`, `administradores_CEDULA`) VALUES ('1', 'admin');
INSERT INTO `matefunds`.`ADMINISTRADORES_centroeducativo` (`idcentroeducativo`, `administradores_CEDULA`) VALUES ('1', 'admin');
package edu.proygrado.dto;
import edu.proygrado.modelo.AdminLiceo;
import edu.proygrado.modelo.Admincentroeducativo;
public class AdminLiceoDTO {
public class AdmincentroeducativoDTO {
String cedula;
String nombre;
......@@ -10,9 +10,9 @@ public class AdminLiceoDTO {
String password;
ConfiguracionDTO config;
public AdminLiceoDTO() { }
public AdmincentroeducativoDTO() { }
public AdminLiceoDTO(AdminLiceo lic) {
public AdmincentroeducativoDTO(Admincentroeducativo lic) {
this.cedula = lic.getCedula();
this.nombre = lic.getNombre();
this.apellido = lic.getApellido();
......
......@@ -36,7 +36,7 @@ public class BackupAlumnoDTO extends BackupUsuarioDTO{
grupoDTO.setAnio(grupo.getGrupoPK().getAnio());
grupoDTO.setGrado(grupo.getGrupoPK().getGrado());
grupoDTO.setGrupo(grupo.getGrupoPK().getGrupo());
grupoDTO.setLiceoId(grupo.getGrupoPK().getLiceo().getLiceoId());
grupoDTO.setidcentroeducativo(grupo.getGrupoPK().getcentroeducativo().getIdcentroeducativo());
this.grupos.add(grupoDTO);
}
*/
......
......@@ -22,7 +22,7 @@ public class BackupDocenteDTO extends BackupUsuarioDTO{
grupoDTO.setAnio(grupo.getGrupoPK().getAnio());
grupoDTO.setGrado(grupo.getGrupoPK().getGrado());
grupoDTO.setGrupo(grupo.getGrupoPK().getGrupo());
grupoDTO.setLiceoId(grupo.getGrupoPK().getLiceo().getLiceoId());
grupoDTO.setidcentroeducativo(grupo.getGrupoPK().getcentroeducativo().getIdcentroeducativo());
this.gruposAsignados.add(grupoDTO);
}
this.archivos = new ArrayList<>();
......
......@@ -3,7 +3,7 @@ package edu.proygrado.dto;
public class CredencialesDTO {
String cedula;
String password;
String liceo;
String centroeducativo;
public String getCedula() {
return cedula;
......@@ -21,12 +21,12 @@ public class CredencialesDTO {
this.password = password;