2018-11-06 15:35:51 +01:00
< os-head-bar [ mainButton ] = " isAllowed ( ' manage ' ) " buttonIcon = "edit" [ nav ] = " false " [ editMode ] = " editUser " ( mainEvent ) = " setEditMode ( ! editUser ) "
2018-10-05 16:34:08 +02:00
(saveEvent)="saveUser()">
2018-09-18 18:27:14 +02:00
2018-10-05 16:34:08 +02:00
<!-- Title -->
< div class = "title-slot" >
< h2 * ngIf = 'editUser' >
2018-09-18 18:27:14 +02:00
{{personalInfoForm.get('title').value}}
{{personalInfoForm.get('first_name').value}}
{{personalInfoForm.get('last_name').value}}
2018-10-05 16:34:08 +02:00
< / h2 >
2018-09-18 18:27:14 +02:00
2018-10-05 16:34:08 +02:00
< h2 * ngIf = '!editUser' >
{{user.full_name}}
< / h2 >
2018-09-18 18:27:14 +02:00
< / div >
2018-10-05 16:34:08 +02:00
<!-- Menu -->
< div class = "menu-slot" >
< button type = "button" mat-icon-button [ matMenuTriggerFor ] = " userExtraMenu " >
2018-10-11 14:03:44 +02:00
< mat-icon > more_vert< / mat-icon >
2018-09-18 18:27:14 +02:00
< / button >
< / div >
< mat-menu # userExtraMenu = "matMenu" >
2018-10-05 16:34:08 +02:00
< button mat-menu-item class = "red-warning-text" ( click ) = ' deleteUserButton ( ) ' >
< mat-icon > delete< / mat-icon >
< span translate > Delete< / span >
< / button >
2018-09-18 18:27:14 +02:00
< / mat-menu >
2018-10-05 16:34:08 +02:00
< / os-head-bar >
2018-09-18 18:27:14 +02:00
< mat-card class = "os-card" * osPerms = "'users.can_see_name'" >
< form [ ngClass ] = " { ' mat-form-field-enabled ' : editUser } " [ formGroup ] = ' personalInfoForm ' ( ngSubmit ) = ' saveUser ( ) ' * ngIf = "user" >
<!-- <h3 translate>Personal Data</h3> -->
< div * ngIf = 'isAllowed("seeName")' >
<!-- Title -->
< mat-form-field class = 'form30 distance force-min-with' * ngIf = 'user.title || editUser && isAllowed("manage")' >
2018-10-05 16:34:08 +02:00
< input type = 'text' matInput osAutofocus placeholder = '{{"Title" | translate}}' formControlName = 'title'
[value]='user.title'>
2018-09-18 18:27:14 +02:00
< / mat-form-field >
<!-- First name -->
2018-10-05 16:34:08 +02:00
< mat-form-field class = 'form30 distance force-min-with' * ngIf = 'user.first_name || editUser && isAllowed("manage")' >
2018-11-06 16:57:36 +01:00
< input type = 'text' matInput placeholder = '{{"Given name" | translate}}' formControlName = 'first_name'
2018-10-05 16:34:08 +02:00
[value]='user.first_name'>
2018-09-18 18:27:14 +02:00
< / mat-form-field >
<!-- Last name -->
2018-10-05 16:34:08 +02:00
< mat-form-field class = 'form30 force-min-with' * ngIf = 'user.last_name || editUser && isAllowed("manage")' >
2018-11-06 16:57:36 +01:00
< input type = 'text' matInput placeholder = '{{"Surname" | translate}}' formControlName = 'last_name'
2018-10-05 16:34:08 +02:00
[value]='user.last_name'>
2018-09-18 18:27:14 +02:00
< / mat-form-field >
< / div >
< div * ngIf = 'isAllowed("seePersonal")' >
<!-- E - Mail -->
< mat-form-field class = 'form100' * ngIf = "user.email || editUser" >
2018-11-06 16:57:36 +01:00
< input type = 'email' matInput placeholder = '{{"Email" | translate}}' name = "email" formControlName = 'email'
2018-09-18 18:27:14 +02:00
[value]='user.email'>
< mat-error * ngIf = "personalInfoForm.get('email').hasError('email')" >
Please enter a valid email address
< / mat-error >
< / mat-form-field >
< / div >
< div >
2018-10-16 08:08:59 +02:00
<!-- Strucuture Level -->
2018-10-05 16:34:08 +02:00
< mat-form-field class = 'form70 distance' * ngIf = 'user.structure_level || editUser && isAllowed("manage")' >
2018-11-06 16:57:36 +01:00
< input type = 'text' matInput placeholder = '{{"Structure level" | translate}}' formControlName = 'structure_level'
2018-10-05 16:34:08 +02:00
[value]='user.structure_level'>
2018-09-18 18:27:14 +02:00
< / mat-form-field >
<!-- Partizipant Number -->
2018-10-05 16:34:08 +02:00
< mat-form-field class = 'form20 force-min-with' * ngIf = 'user.participant_number || editUser && isAllowed("manage")' >
2018-11-06 16:57:36 +01:00
< input type = 'text' matInput placeholder = '{{"Participant number" | translate}}' formControlName = 'number'
2018-10-05 16:34:08 +02:00
[value]='user.participant_number'>
2018-09-18 18:27:14 +02:00
< / mat-form-field >
< / div >
< div >
<!-- Groups -->
< mat-form-field class = 'form100' * ngIf = "user.groups && user.groups.length > 0 || editUser" >
< mat-select placeholder = '{{"Groups" | translate}}' formControlName = 'groups_id' multiple >
< mat-option * ngFor = "let group of groups" [ value ] = " group . id " > {{group}}< / mat-option >
< / mat-select >
< / mat-form-field >
< / div >
< div * ngIf = 'isAllowed("manage")' >
<!-- Initial Password -->
< mat-form-field class = 'form100' >
2018-11-06 16:57:36 +01:00
< input matInput placeholder = '{{"Initial password" | translate}}' formControlName = 'default_password'
2018-10-05 16:34:08 +02:00
[value]='user.default_password'>
2018-09-18 18:27:14 +02:00
< mat-hint align = "end" > Generate< / mat-hint >
< button type = "button" mat-button matSuffix mat-icon-button [ disabled ] = ' ! newUser ' ( click ) = ' generatePassword ( ) ' >
2018-10-11 14:03:44 +02:00
< mat-icon > sync_problem< / mat-icon >
2018-09-18 18:27:14 +02:00
< / button >
< / mat-form-field >
< / div >
< div * ngIf = 'isAllowed("seePersonal")' >
<!-- About me -->
<!-- TODO: Needs Rich Text Editor -->
2018-10-05 16:34:08 +02:00
< mat-form-field class = 'form100' * ngIf = "user.about_me || editUser" >
2018-11-06 16:57:36 +01:00
< textarea formControlName = 'about_me' matInput placeholder = '{{"About me" | translate}}' [ value ] = ' user . about_me ' > < / textarea >
2018-09-18 18:27:14 +02:00
< / mat-form-field >
< / div >
< div * ngIf = 'isAllowed("seePersonal")' >
<!-- username -->
< mat-form-field class = 'form100' * ngIf = "user.username || editUser" >
< input type = 'text' matInput placeholder = '{{"Username" | translate}}' formControlName = 'username' [ value ] = ' user . username ' >
< / mat-form-field >
< / div >
< div * ngIf = 'isAllowed("seeExtra")' >
<!-- Comment -->
< mat-form-field class = 'form100' * ngIf = "user.comment || editUser" >
< input matInput placeholder = '{{"Comment"| translate}}' formControlName = 'comment' [ value ] = ' user . comment ' >
< mat-hint translate > Only for internal notes.< / mat-hint >
< / mat-form-field >
< / div >
< div * ngIf = 'isAllowed("seeExtra")' >
<!-- Present? -->
< mat-checkbox formControlName = 'is_present' matTooltip = '{{"Designates whether this user is in the room." | translate}} '
2018-10-05 16:34:08 +02:00
[value]='user.is_present'>
2018-11-06 16:57:36 +01:00
< span translate > Is present< / span >
2018-09-18 18:27:14 +02:00
< / mat-checkbox >
<!-- Active? -->
< mat-checkbox * osPerms = "'users.can_see_extra_data'" formControlName = 'is_active' matTooltip = '{{"Designates whether this user should be treated as active. Unselect this instead of deleting the account." | translate}}'
2018-10-05 16:34:08 +02:00
[value]='user.is_active'>
2018-11-06 16:57:36 +01:00
< span translate > Is active< / span >
2018-09-18 18:27:14 +02:00
< / mat-checkbox >
<!-- Commitee? -->
< mat-checkbox formControlName = 'is_committee' matTooltip = '{{"Designates whether this user should be treated as a committee." | translate}}'
2018-10-05 16:34:08 +02:00
[value]='user.is_committee'>
2018-09-18 18:27:14 +02:00
< span translate > Is a committee< / span >
< / mat-checkbox >
< / div >
< / form >
< / mat-card >