rsanchez
2017-03-22 60c65f2110f65221bc3a71b2887667e78c53c53e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<td-layout-card-over cardWidth="60">
   <md-toolbar role="toolbar" class="mat-secondary">
       <button md-icon-button (click)="goBack()" color="accent">
           <md-icon>arrow_back</md-icon>
       </button>
       <span class="md-title" [innerText]="form_title"></span>
       <span flex></span>
       <button md-icon-button (click)="save()"><md-icon>save</md-icon></button>
   </md-toolbar>
   <!--
            username: 'rym',
    roles: [ 1 ],
    lastLogin: 1488885433000,
    modificationTimestamp: 1479898458000,
    email: 'rbouchair@curistec.com',
    first_name: 'Rym',
    last_name: 'Bouchair',
    creation_timestamp: 1479898458000,
    organizations_ids: [ 1, 2, 5, 6, 7, 8 ]
}
       -->
   <div class="margin" layout-align-gt-xs="center start" layout-fill="" layout-gt-xs="row">
       <md-card flex="70">
           <md-card-title>
               {{form_subtitle}}
           </md-card-title>
           <md-divider></md-divider>
           <md-card-content>
               <form #form="ngForm" class="inset">
                   <div layout="column" layout-align="start center">
                       <div layout="row" layout-fill layout-padding>
                           <div layout="column" layout-fill flex>
                               <md-input-container>
                                   <input #firstField mdInput maxLength="50" type="text" [(ngModel)]="data.username" name="username" required [readonly]="!isNew" />
                                   <md-placeholder>
                                       <span i18n="field.username"></span>
                                   </md-placeholder>
                               </md-input-container>
                               <error-checker [fieldName]="getFieldName('username')" [formField]="form.controls.username"></error-checker>
                           </div>
                           <div layout="column" layout-fill flex>
                               <md-input-container flex>
                                   <input mdInput type="password" [(ngModel)]="data.password" name="password" [required]="isNew" />
                                   <md-placeholder>
                                       <span i18n="field.password"></span>
                                   </md-placeholder>
                               </md-input-container>
                               <error-checker [fieldName]="getFieldName('password')" [formField]="form.controls.password"></error-checker>
                           </div>
                       </div>
                       <div layout="row" layout-fill layout-padding>
                           <div layout="column" layout-fill flex>
                               <md-input-container flex>
                                   <input mdInput type="text" [(ngModel)]="data.first_name" name="first_name" required />
                                   <md-placeholder>
                                       <span i18n="field.first_name"></span>
                                   </md-placeholder>
                               </md-input-container>
                               <error-checker [fieldName]="getFieldName('first_name')" [formField]="form.controls.first_name"></error-checker>
                           </div>
                           <div layout="column" layout-fill flex>
                               <md-input-container flex>
                                   <input mdInput type="text" [(ngModel)]="data.last_name" name="last_name"  />
                                   <md-placeholder>
                                       <span i18n="field.last_name"></span>
                                   </md-placeholder>
                               </md-input-container>
                               <error-checker [fieldName]="getFieldName('last_name')" [formField]="form.controls.last_name"></error-checker>
                           </div>
                       </div>
                       <div layout="row" layout-fill layout-padding>
                           <div layout="column" layout-fill flex>
                               <md-input-container flex>
                                   <input mdInput type="email" [(ngModel)]="data.email" name="email" required maxlength="200" />
                                   <md-placeholder>
                                       <span i18n="field.email"></span>
                                   </md-placeholder>
                               </md-input-container>
                               <error-checker [fieldName]="$L.get('field.email')" [formField]="form.controls.email"></error-checker>
                           </div>
                       </div>
                           <div layout="row" layout-fill layout-padding >
                           <td-chips flex [mdTooltip]="$L.get('Organizations that user can access')" [placeholder]="$L.get('Select organizations')" 
                                   [items]="orgNames" [(ngModel)]="user_orgs" name="user_orgs" requireMatch>
                           </td-chips>
                           <div layout="column" layout-fill flex="25">
                               <md-checkbox [(ngModel)]="user_roles.advance" name="advance_role" [mdTooltip]="$L.get('Role {}', 'advance')">
                                   <span i18n>Advance</span>
                               </md-checkbox>
                               <md-checkbox [(ngModel)]="user_roles.admin" name="admin_role" [mdTooltip]="$L.get('Role {}', 'admin')">
                                   <span i18n>Admin</span>
                               </md-checkbox>
                           </div>
                       </div>
                       <div layout="row" layout-fill layout-padding *ngIf="!isNew">
                           <field-readonly [value]="data.lastLogin || '' | timeAgo" label="field.lastLogin" flex></field-readonly>
                           <field-readonly [value]="data.creation_timestamp | date: 'medium'" label="field.creation_timestamp" flex></field-readonly>
                       </div>
                   </div>
               </form>
           </md-card-content>
           <md-divider></md-divider>
           <md-card-actions>
               <div layout="row" layout-align="start center" class="margin">
                   <button *ngIf="!isNew" [disabled]="!canBeDeleted()" md-raised-button color="warn" (click)="delete(data.username)">Delete</button>
                   <span flex></span>
                   <button [disabled]="!form.form.valid" md-raised-button color="primary" (click)="save()">Save</button>
                   <button md-button (click)="goBack()">Cancel</button>
               </div>
           </md-card-actions>
       </md-card>
   </div>
</td-layout-card-over>