1
|
$common/master( header={
|
2
|
<script type="text/javascript" src="../resources/js/angular-1.4.8.min.js"></script>
|
3
|
<script type="text/javascript" src="../resources/js/portal/affiliations.js"></script>
|
4
|
}, onLoad={}, body={
|
5
|
<div ng-app="affiliationsUI" ng-controller="affiliationsCtrl">
|
6
|
<div class="col-xs-12 col-md-8 col-lg-6">
|
7
|
|
8
|
<input type="text" class="form-control" ng-model="personFilter" placeholder="Filter by name...">
|
9
|
<br />
|
10
|
|
11
|
<div class="panel panel-default" ng-repeat="aff in affiliations | filter: personFilter">
|
12
|
<div class="panel-heading">
|
13
|
<h3 class="panel-title text-center">{{aff.name}}</h3>
|
14
|
</div>
|
15
|
<table class="table table-condensed table-striped">
|
16
|
<tbody ng-repeat="p in aff.persons">
|
17
|
<tr ng-repeat="(year, groups) in p.affiliations">
|
18
|
<th class="col-xs-3"><span ng-if="\$first">{{p.id}}</span></th>
|
19
|
<td class="col-xs-1">{{year}}</td>
|
20
|
<td>
|
21
|
<span ng-repeat="g in groups">
|
22
|
<span ng-if="g.id != 'UNKNOWN'">{{g.name}} ({{g.id}})</span>
|
23
|
<button type="button" class="btn btn-xs btn-danger"
|
24
|
ng-if="g.id == 'UNKNOWN'"
|
25
|
ng-click="prepareTempAffiliation(p.id, aff.name, year)"
|
26
|
data-toggle="modal"
|
27
|
data-target="#newAffiliationModal">edit</button>
|
28
|
<span class="label label-default pull-right" ng-class="{
|
29
|
'label-info' : g.type == 'Laboratorio',
|
30
|
'label-success' : g.type == 'Servizio',
|
31
|
'label-danger' : g.type == 'UNKNOWN'
|
32
|
}">{{g.type}}</span>
|
33
|
<br />
|
34
|
</span>
|
35
|
</td>
|
36
|
</tr>
|
37
|
</tbody>
|
38
|
</table>
|
39
|
</div>
|
40
|
</div>
|
41
|
|
42
|
<div class="modal fade" id="newAffiliationModal">
|
43
|
<div class="modal-dialog">
|
44
|
<div class="modal-content">
|
45
|
<div class="modal-header">
|
46
|
<button type="button" class="close" data-dismiss="modal">×</button>
|
47
|
<h4 class="modal-title">New affiliation</h4>
|
48
|
</div>
|
49
|
<div class="modal-body">
|
50
|
<form>
|
51
|
<div class="form-group">
|
52
|
<label>Person ID</label>
|
53
|
<p class="form-control-static">{{tempAffiliation.pid}}</p>
|
54
|
</div>
|
55
|
<div class="form-group">
|
56
|
<label>Person Name</label>
|
57
|
<p class="form-control-static">{{tempAffiliation.pname}}</p>
|
58
|
</div>
|
59
|
<div class="form-group">
|
60
|
<label>Year</label>
|
61
|
<p class="form-control-static">{{tempAffiliation.year}}</p>
|
62
|
</div>
|
63
|
<div class="form-group">
|
64
|
<label>Group</label>
|
65
|
<select class="form-control" ng-model="tempAffiliation.gid" ng-options="g.id as g.name group by g.type for g in groups"></select>
|
66
|
</div>
|
67
|
</form>
|
68
|
</div>
|
69
|
<div class="modal-footer">
|
70
|
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
|
71
|
<button type="button" class="btn btn-primary" data-dismiss="modal" ng-click="saveAffiliation(tempAffiliation)">Save</button>
|
72
|
</div>
|
73
|
</div>
|
74
|
</div>
|
75
|
</div>
|
76
|
|
77
|
|
78
|
|
79
|
|
80
|
</div>
|
81
|
})$
|