mirror of
https://github.com/DeviceFarmer/stf.git
synced 2026-04-18 08:03:30 +02:00
167 lines
8.7 KiB
Plaintext
167 lines
8.7 KiB
Plaintext
//
|
|
Copyright © 2019 code initially contributed by Orange SA, authors: Denis Barbaron - Licensed under the Apache license 2.0
|
|
//
|
|
|
|
li.list-group-item.groups-list
|
|
.heading.group-action-body
|
|
i.fa.fa-user
|
|
span(translate) Users
|
|
|
|
.row
|
|
.panel-group
|
|
.panel.panel-default
|
|
.panel-heading.text-center
|
|
button.btn.btn-xs.btn-primary.btn-group-users-action(
|
|
type='button'
|
|
ng-click='showGroupUsers = !showGroupUsers'
|
|
ng-class='{"btn-primary-outline": showGroupUsers, "btn-primary": !showGroupUsers}')
|
|
i.fa.fa-user
|
|
span(translate) Group users
|
|
|
|
.panel-body(ng-show='!showGroupUsers')
|
|
div
|
|
.form-inline
|
|
.form-group.group-users-header
|
|
stf-pager(
|
|
tooltip-label="{{'Group user selection' | translate}}"
|
|
total-items='groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredGroupUsers.length'
|
|
total-items-style='stf-pager-groups-total-items'
|
|
items-per-page='groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].groupUserItemsPerPage'
|
|
items-per-page-options='itemsPerPageOptions'
|
|
current-page='groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].groupUserCurrentPage'
|
|
items-search='groupUserSearch')
|
|
|
|
button.btn.btn-xs.btn-primary-outline.pull-right(
|
|
type='button'
|
|
uib-tooltip="{{'Write a mail to the group user selection' | translate}}"
|
|
ng-disabled='!groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredGroupUsers.length'
|
|
ng-click='mailToGroupUsers(\
|
|
filteredGroups[getGroupIndex($parent.$index)],\
|
|
groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredGroupUsers)'
|
|
tooltip-placement='top'
|
|
tooltip-popup-delay='500')
|
|
i.fa.fa-envelope-o
|
|
span(translate) Contact Users
|
|
|
|
.widget-container.fluid-height.overflow-auto
|
|
table.table.table-hover.dataTable.ng-table
|
|
thead
|
|
tr
|
|
th.header
|
|
button.btn.btn-sm.btn-danger.btn-group-users-action(
|
|
type='button'
|
|
ng-if="groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].hasOwnProperty('filteredGroupUsers')"
|
|
ng-disabled="!conditionForGroupUsersRemoving(\
|
|
group, \
|
|
groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredGroupUsers)"
|
|
ng-click='removeGroupUsers(\
|
|
group,\
|
|
groupUserSearch,\
|
|
groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredGroupUsers)')
|
|
i.fa.fa-trash-o
|
|
th.header.sortable(
|
|
ng-class='[column.sort]'
|
|
ng-repeat="column in groupUserData.columns"
|
|
ng-click='sortBy(groupUserData, column)')
|
|
div.strong(ng-bind-template="{{column.name | translate}}")
|
|
|
|
tbody
|
|
tr.selectable(ng-repeat="user in group.users \
|
|
| groupObjectsFilter:users:usersByEmail \
|
|
| filter:groupUserSearch \
|
|
| orderBy:userColumns[groupUserData.sort.index].property:groupUserData.sort.reverse \
|
|
| pagedObjectsFilter:\
|
|
groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id]:\
|
|
'groupUserCurrentPage':'groupUserItemsPerPage':'filteredGroupUsers' \
|
|
track by user.email")
|
|
td
|
|
button.btn.btn-danger-outline.btn-xs(
|
|
type='button'
|
|
ng-disabled="user.privilege === 'admin' || \
|
|
user.email === filteredGroups[getGroupIndex($parent.$index)].owner.email"
|
|
ng-click='removeGroupUser(filteredGroups[getGroupIndex($parent.$index)], user)')
|
|
i.fa.fa-trash-o.fa-fw
|
|
td {{user.name}}
|
|
td
|
|
a.link(ng-href="{{'mailto:' + user.email}}"
|
|
ng-click='$event.stopPropagation()') {{user.email}}
|
|
td {{user.privilege}}
|
|
|
|
.panel.panel-default
|
|
.panel-heading.text-center
|
|
button.btn.btn-xs.btn-primary-outline.btn-group-users-action(
|
|
type='button'
|
|
ng-click='showAvailableUsers = !showAvailableUsers'
|
|
ng-class='{"btn-primary-outline": !showAvailableUsers, "btn-primary": showAvailableUsers}')
|
|
i.fa.fa-user
|
|
span(translate) Available users
|
|
|
|
.panel-body(ng-show='showAvailableUsers')
|
|
nothing-to-show(
|
|
icon='fa-user'
|
|
message='{{"No available users" | translate}}'
|
|
ng-if='!groupsEnv[group.id].filteredAvailableUsers.length && users.length === group.users.length')
|
|
|
|
div(ng-if='groupsEnv[group.id].filteredAvailableUsers.length || users.length !== group.users.length')
|
|
.form-inline
|
|
.form-group.group-users-header
|
|
stf-pager(
|
|
tooltip-label="{{'Available user selection' | translate}}"
|
|
total-items='groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredAvailableUsers.length'
|
|
total-items-style='stf-pager-groups-total-items'
|
|
items-per-page='groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].availableUserItemsPerPage'
|
|
items-per-page-options='itemsPerPageOptions'
|
|
current-page='groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].availableUserCurrentPage'
|
|
items-search='userSearch')
|
|
|
|
button.btn.btn-xs.btn-primary-outline.pull-right(
|
|
type='button'
|
|
uib-tooltip="{{'Write a mail to the available user selection' | translate}}"
|
|
ng-disabled='!groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredAvailableUsers.length'
|
|
ng-click='mailToAvailableUsers(groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredAvailableUsers)'
|
|
tooltip-placement='top'
|
|
tooltip-popup-delay='500')
|
|
i.fa.fa-envelope-o
|
|
span(translate) Contact Users
|
|
|
|
|
|
.widget-container.fluid-height.overflow-auto
|
|
table.table.table-hover.dataTable.ng-table
|
|
thead
|
|
tr
|
|
th.header
|
|
button.btn.btn-sm.btn-primary.btn-group-users-action(
|
|
type='button'
|
|
ng-if="groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].hasOwnProperty('filteredAvailableUsers')"
|
|
ng-disabled='!groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredAvailableUsers.length'
|
|
ng-click='addGroupUsers(\
|
|
group,\
|
|
userSearch,\
|
|
groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id].filteredAvailableUsers)')
|
|
i.fa.fa-cart-plus
|
|
th.header.sortable(
|
|
ng-class='[column.sort]'
|
|
ng-repeat="column in userData.columns"
|
|
ng-click='sortBy(userData, column)')
|
|
div.strong(ng-bind-template="{{column.name | translate}}")
|
|
|
|
tbody
|
|
tr.selectable(ng-repeat="user in users \
|
|
| availableObjectsFilter:filteredGroups[getGroupIndex($parent.$index)]:'users':'email' \
|
|
| filter:userSearch \
|
|
| orderBy:userColumns[userData.sort.index].property:userData.sort.reverse \
|
|
| pagedObjectsFilter:\
|
|
groupsEnv[filteredGroups[getGroupIndex($parent.$index)].id]:\
|
|
'availableUserCurrentPage':'availableUserItemsPerPage':'filteredAvailableUsers' \
|
|
track by user.email")
|
|
td
|
|
button.btn.btn-primary-outline.btn-xs(
|
|
type='button'
|
|
ng-click='addGroupUser(filteredGroups[getGroupIndex($parent.$index)], user)')
|
|
i.fa.fa-cart-plus.fa-fw
|
|
td {{user.name}}
|
|
td
|
|
a.link(ng-href="{{'mailto:' + user.email}}"
|
|
ng-click='$event.stopPropagation()') {{user.email}}
|
|
td {{user.privilege}}
|