diff --git a/apps/maarch_entreprise/Views/user-administration.component.html b/apps/maarch_entreprise/Views/user-administration.component.html index c2df53bf72d5df7fd9758dbfddeac42f40248bd4..3024961cb000e360ca99a4f148e6f3415e2652e0 100644 --- a/apps/maarch_entreprise/Views/user-administration.component.html +++ b/apps/maarch_entreprise/Views/user-administration.component.html @@ -5,7 +5,7 @@ <i class="fa fa-spinner fa-spin fa-5x" style="margin-left: 50%;margin-top: 16%;font-size: 8em"></i> </div> <div *ngIf="!loading" class="container-fluid"> - <h1 style="margin-top: 0"><i class="fa fa-user fa-2x"></i> {{user.lang.userModification}} {{userId}}</h1> + <h1 style="margin-top: 0"><i class="fa fa-user fa-2x"></i> {{user.lang.userModification}}: {{userId}}</h1> <nav class="navbar navbar-default"> <div class="container-fluid"> <div class="navbar-header"> @@ -15,6 +15,12 @@ </div> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav navbar-right"> + <li style="cursor: pointer"> + <a data-toggle="modal" data-target="#manageAbs"><i class="fa fa-key" title=""></i> Réinitialiser le mot de passe </a> + </li> + <li style="cursor: pointer"> + <a data-toggle="modal" data-target="#manageAbs"><i class="fa fa-inbox" title=""></i> Gérer mes bannettes </a> + </li> <li style="cursor: pointer"> <a data-toggle="modal" data-target="#manageAbs"><i class="fa fa-user-times" title=""></i> {{user.lang.manageAbsences}} </a> </li> @@ -26,7 +32,7 @@ </div> </nav> <div class="row row-eq-height"> - <div class="col-md-4 col-md-offset-1" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;"> + <div class="col-md-4" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;"> <h2>{{user.lang.myInformations}}</h2> <form class="form-horizontal" (ngSubmit)="onSubmit()" #profileForm="ngForm"> <div class="form-group"> @@ -80,23 +86,45 @@ </div> </form> </div> - <div class="col-md-3" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;"> + <div class="col-md-3 col-md-offset-1" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;"> <h2>{{user.lang.myGroups}}</h2> - <ul class="list-group"> - <li class="list-group-item" *ngFor="let group of user.groups"> - <i class="fa fa-users"></i> <span class="label label-primary">{{group.group_desc}}</span> <i class="fa fa-trash"></i> - </li> - </ul> + <div *ngFor="let group of user.groups" class="col-sm-12 form-group"> + <div class="input-group"> + <span *ngIf="group.primary_group == 'Y'" class="input-group-addon label-primary" id="group_desc" style="color:white;">{{group.group_desc}}</span> + <span *ngIf="group.primary_group == 'N'" class="input-group-addon label-default" id="group_desc" style="background-color:#eee;">{{group.group_desc}}</span> + <input type="text" class="form-control" id="basic-url" aria-describedby="group_desc" placeholder="rôle" value="{{group.role}}"> + <div class="input-group-btn"> + <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-bars" aria-hidden="true"></i> +<span class="caret"></span></button> + <ul class="dropdown-menu dropdown-menu-right"> + <li *ngIf="group.primary_group == 'N'"><a href="#">Passer en groupe primaire</a></li> + <li><a href="#">Enregistrer les modifications</a></li> + <li role="separator" class="divider"></li> + <li><a href="#">Supprimer</a></li> + </ul> + </div> + </div> + </div> </div> <div class="col-md-3 col-md-offset-1" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;"> <h2>{{user.lang.myEntities}}</h2> - <ul class="list-group"> - <li class="list-group-item" *ngFor="let entity of user.entities"> - <i class="fa fa-sitemap"></i> {{entity.entity_label}} - <span *ngIf="entity.primary_entity == 'Y'" class="label label-primary">{{user.lang.primaryEntity}}</span> - <span *ngIf="entity.primary_entity != 'Y'" class="label label-default">{{user.lang.secondaryEntity}}</span> - </li> - </ul> + <div *ngFor="let entity of user.entities" class="col-sm-12 form-group"> + <div class="input-group"> + <span *ngIf="entity.primary_entity == 'Y'" class="input-group-addon label-primary" id="group_desc" style="color:white;">{{entity.entity_label}}</span> + <span *ngIf="entity.primary_entity == 'N'" class="input-group-addon label-default" id="group_desc" style="background-color:#eee;">{{entity.entity_label}}</span> + <input type="text" class="form-control" id="basic-url" aria-describedby="group_desc" placeholder="rôle" value="{{entity.entity_role}}"> + <div class="input-group-btn"> + <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-bars" aria-hidden="true"></i> +<span class="caret"></span></button> + <ul class="dropdown-menu dropdown-menu-right"> + <li *ngIf="entity.primary_entity == 'N'"><a href="#">Passer en entité primaire</a></li> + <li><a href="#">Enregistrer les modifications</a></li> + <li role="separator" class="divider"></li> + <li><a href="#">Supprimer</a></li> + </ul> + </div> + </div> + </div> </div> </div> </div> diff --git a/apps/maarch_entreprise/js/angular/app/user-administration.component.js b/apps/maarch_entreprise/js/angular/app/user-administration.component.js index fc9e2f509ddda308180a37e810ab193e61a3e973..2094399a64cc182156d99568219ad8cbc53c8130 100644 --- a/apps/maarch_entreprise/js/angular/app/user-administration.component.js +++ b/apps/maarch_entreprise/js/angular/app/user-administration.component.js @@ -23,7 +23,7 @@ var UserAdministrationComponent = (function () { } UserAdministrationComponent.prototype.updateBreadcrumb = function (applicationName) { if ($j('#ariane')[0]) { - $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > Utilisateurs"; + $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > <a onclick='location.hash = \"/administration/users\"' style='cursor: pointer'>Liste utilisateurs</a> > Modification"; } }; UserAdministrationComponent.prototype.ngOnInit = function () { @@ -71,7 +71,7 @@ var UserAdministrationComponent = (function () { UserAdministrationComponent = __decorate([ core_1.Component({ templateUrl: angularGlobals["user-administrationView"], - styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.min.css'] + styleUrls: ['css/user-administration.component.css', '../../node_modules/bootstrap/dist/css/bootstrap.min.css'] }), __metadata("design:paramtypes", [http_1.Http, router_1.ActivatedRoute]) ], UserAdministrationComponent); diff --git a/apps/maarch_entreprise/js/angular/app/user-administration.component.ts b/apps/maarch_entreprise/js/angular/app/user-administration.component.ts index ad11392cda39e12c641da6f899a931e10ae851e5..1807ed5eaac3b35238491f385cee4d190914379d 100644 --- a/apps/maarch_entreprise/js/angular/app/user-administration.component.ts +++ b/apps/maarch_entreprise/js/angular/app/user-administration.component.ts @@ -10,7 +10,7 @@ declare var angularGlobals : any; @Component({ templateUrl : angularGlobals["user-administrationView"], - styleUrls : ['../../node_modules/bootstrap/dist/css/bootstrap.min.css'] + styleUrls : ['css/user-administration.component.css','../../node_modules/bootstrap/dist/css/bootstrap.min.css'] }) export class UserAdministrationComponent implements OnInit { @@ -28,7 +28,7 @@ export class UserAdministrationComponent implements OnInit { updateBreadcrumb(applicationName: string) { if ($j('#ariane')[0]) { - $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > Utilisateurs"; + $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > <a onclick='location.hash = \"/administration/users\"' style='cursor: pointer'>Liste utilisateurs</a> > Modification"; } } diff --git a/core/Models/UserModelAbstract.php b/core/Models/UserModelAbstract.php index d2a9e5e036ab1c30d4b6d8725e3fe26737a8f470..2c5bdc5ab4b405f038c8bc8594a526af9be2cbfc 100644 --- a/core/Models/UserModelAbstract.php +++ b/core/Models/UserModelAbstract.php @@ -418,7 +418,7 @@ class UserModelAbstract extends \Apps_Table_Service $aGroups = static::select([ - 'select' => ['usergroup_content.group_id', 'usergroups.group_desc', 'usergroup_content.primary_group'], + 'select' => ['usergroup_content.group_id', 'usergroups.group_desc', 'usergroup_content.primary_group', 'usergroup_content.role'], 'table' => ['usergroup_content, usergroups'], 'where' => ['usergroup_content.group_id = usergroups.group_id', 'usergroup_content.user_id = ?'], 'data' => [$aArgs['userId']]