Skip to content

Commit baed515

Browse files
committed
Display number of groups in projects and CSS adjustements.
1 parent c266767 commit baed515

File tree

3 files changed

+52
-53
lines changed

3 files changed

+52
-53
lines changed

usr/lib/linuxmuster-webui/plugins/lmn_groupmembership/resources/build/all.js

Lines changed: 15 additions & 27 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

usr/lib/linuxmuster-webui/plugins/lmn_groupmembership/resources/js/controllers/index.controller.coffee

Lines changed: 23 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -81,25 +81,29 @@ angular.module('lmn.groupmembership').controller 'LMNGroupMembershipController',
8181
dict['type'] == val
8282

8383
$scope.getGroups = (username) ->
84-
$http.get('/api/lmn/groupmembership/projects').then (resp) ->
85-
$scope.projects = resp.data
86-
promises = []
87-
for project in $scope.projects
88-
promises.push($http.get('/api/lmn/groupmembership/all_members_project/' + project.cn).then (resp) ->
89-
for proj in $scope.projects
90-
if proj.cn == resp.data.cn
91-
proj.membersCount = resp.data.membersCount
92-
proj.adminsCount = resp.data.adminsCount
93-
proj.all_members = resp.data.all_members
94-
proj.all_admins = resp.data.all_admins)
95-
$q.all(promises).then () -> $scope.loading_projects = false
96-
$http.get('/api/lmn/groupmembership/printers').then (resp) ->
97-
$scope.printers = resp.data
98-
$scope.loading_printers = false
99-
$http.get('/api/lmn/groupmembership/schoolclasses').then (resp) ->
100-
$scope.classes = resp.data
101-
$scope.classes_max_height = 25 * resp.data.length / 4 + "px"
102-
$scope.loading_schoolclasses = false
84+
$http.get('/api/lmn/groupmembership/projects').then (resp) ->
85+
$scope.projects = resp.data
86+
$scope.loading_projects = false
87+
$scope.projects_max_height = 45 * resp.data.length / 3 + "px"
88+
console.log($scope.projects_max_height)
89+
# Disable recursiv search of members since it's pretty slow for schools with a lot of projects.
90+
# promises = []
91+
# for project in $scope.projects
92+
# promises.push($http.get('/api/lmn/groupmembership/all_members_project/' + project.cn).then (resp) ->
93+
# for proj in $scope.projects
94+
# if proj.cn == resp.data.cn
95+
# proj.membersCount = resp.data.membersCount
96+
# proj.adminsCount = resp.data.adminsCount
97+
# proj.all_members = resp.data.all_members
98+
# proj.all_admins = resp.data.all_admins)
99+
# $q.all(promises).then () -> $scope.loading_projects = false
100+
$http.get('/api/lmn/groupmembership/printers').then (resp) ->
101+
$scope.printers = resp.data
102+
$scope.loading_printers = false
103+
$http.get('/api/lmn/groupmembership/schoolclasses').then (resp) ->
104+
$scope.classes = resp.data
105+
$scope.classes_max_height = 25 * resp.data.length / 3 + "px"
106+
$scope.loading_schoolclasses = false
103107

104108
$scope.createProject = () ->
105109
messagebox.prompt(gettext('Project Name'), '').then (msg) ->

usr/lib/linuxmuster-webui/plugins/lmn_groupmembership/resources/partial/index.html

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ <h3 translate>Schoolclasses</h3>
7575
<span translate> There are no schoolclasses available. Ask the administrator to import students</span>
7676
</div>
7777
<div class="flex-container lmn-container-list" style="flex-direction: column;" ng:style="{'max-height': classes_max_height}">
78-
<div ng:repeat="classe in classes|filter:filter" style="padding-right:10px;border-right:solid 2px #ff8f00;">
78+
<div ng:repeat="classe in classes|orderBy:[sort.fx]:sortReverse|filter:filter" style="padding-right:10px;border-right:solid 2px #ff8f00;min-width:300px;">
7979
<div ng-class="{'color-orange': classe.membership}">
8080
<input id={{classe.groupname}} type="checkbox" ng-click='setMembership(classe)' ng-checked="classe.membership"></input>
8181
<i class="fa fa-users"></i>
@@ -109,7 +109,6 @@ <h3 translate>Printer</h3>
109109
<span translate>Printer</span>
110110
<b style="word-wrap: break-word; -ms-word-break: break-all">{{printergroup.groupname}}</b>
111111
</a>
112-
</a>
113112
</div>
114113
</div>
115114
</div>
@@ -126,16 +125,24 @@ <h3 translate>Projects</h3>
126125
<i class="fa fa-info-circle"></i>
127126
<span translate> There are no projects yet. You can create a new project using the menu bar.</span>
128127
</div>
129-
<div class="flex-container lmn-container-list" >
130-
<div ng:repeat="project in projects|orderBy:[sort.fx]:sortReverse|filter:filter" style="padding-right:10px;border-right:solid 2px #ff8f00;">
128+
<div class="flex-container lmn-container-list" style="flex-direction: column;" ng:style="{'max-height': projects_max_height}">
129+
<div ng:repeat="project in projects|orderBy:[sort.fx]:sortReverse|filter:filter" style="padding:3px 10px 3px 0;border-right:solid 2px #ff8f00;min-width:300px;">
131130
<div ng:show="!projectIsHidden(project)" ng:class="{'color-orange': project.membership}" ng:style="!projectIsJoinable(project) && {'padding-left':'17px'}">
132131
<input id={{project.groupname}} type="checkbox" ng:show="projectIsJoinable(project)" ng:click='setMembership(project)' ng:checked="project.membership">
133132
<i class="fa fa-flask"></i>
134133
<a href="#" ng-click='showGroupDetails($index, project.type, project.groupname)'>
135-
<b style="word-wrap: break-word; -ms-word-break: break-all">{{project.groupname}}</b>
134+
<b style="word-wrap: break-word; -ms-word-break: break-all;width:100%;">{{project.groupname}}</b>
136135
</a>
137-
<span ng:show="!loading_projects" class="label label-danger pull-right" title="{{project.adminsCount}} admin(s)">{{project.adminsCount}}</span>
138-
<span ng:show="!loading_projects" class="label label-default pull-right" title="{{project.membersCount}} member(s)">{{project.membersCount}}</span>
136+
<span ng:show="!loading_projects" class="label label-danger pull-right" title="{{project.adminsCount}} admin(s)">
137+
{{project.sophomorixAdmins.length}} <span translate>adm.</span>
138+
<br />
139+
{{project.sophomorixAdminGroups.length}} <span translate>gr.</span>
140+
</span>
141+
<span ng:show="!loading_projects" class="label label-default pull-right" title="{{project.membersCount}} member(s)">
142+
{{project.sophomorixMembers.length}} <span translate>adm.</span>
143+
<br />
144+
{{project.sophomorixMemberGroups.length}} <span translate>gr.</span>
145+
</span>
139146
</div>
140147
</div>
141148
</div>

0 commit comments

Comments
 (0)