Compare commits

...

2 Commits

Author SHA1 Message Date
Florian Hartwich a3df38263e Add global decorations filter; Add noSquad user filter 2017-05-23 13:16:47 +02:00
Florian Hartwich 67d6260c32 Fix user awarding global entry & table cut off 2017-05-23 12:51:03 +02:00
7 changed files with 29 additions and 10 deletions

View File

@ -31,7 +31,7 @@ decoration.route('/')
if (req.query.q) {
filter.name = {$regex: req.query.q, $options: 'i'}
}
DecorationModel.find(filter, {}, {sort: {fraction: 'asc', sortingNumber: 'asc', name: 'asc'}}, (err, items) => {
DecorationModel.find(filter, {}, {sort: {fraction: 'asc', isMedal: 'asc', sortingNumber: 'asc', name: 'asc'}}, (err, items) => {
if (err) {
err.status = codes.servererror;
return next(err);

View File

@ -56,7 +56,9 @@ users.route('/')
if (!nameQuery || (nameQuery && user.username.toLowerCase().includes(nameQuery.toLowerCase()))) {
getExtendedUser(user, next, (extUser) => {
// filter by fraction
if (!fractionFilter || (fractionFilter && extUser.squad && extUser.squad.fraction.toLowerCase() === fractionFilter)) {
if (!fractionFilter ||
(fractionFilter && extUser.squad && extUser.squad.fraction.toLowerCase() === fractionFilter) ||
(fractionFilter && fractionFilter === 'unassigned' && !extUser.squad)) {
resUsers.push(extUser);
} else {
rowsLength -= 1;
@ -174,7 +176,7 @@ users.route('/:id')
})
})
.put(apiAuthenticationMiddleware, (req, res,next) => {
.put(apiAuthenticationMiddleware, (req, res, next) => {
// first check that the given element id is the same as the URL id
if (!req.body || req.body._id !== req.params.id) {
// the URL does not fit the given element

View File

@ -11,9 +11,12 @@
"postinstall": "npm install --prefix ./static && npm install --prefix ./api",
"mongodb": "mongod --dbpath ./mongodb-data",
"test": "npm test --prefix ./api",
"e2e": "npm run deploy-static && concurrently \"npm run e2e --prefix ./api\" \"npm run e2e --prefix ./static\""
"e2e": "npm run deploy-static && concurrently \"npm run e2e --prefix ./api\" \"$(npm bin)/wait-on -t 60000 http://localhost:3001/ && npm run e2e --prefix ./static\" --success first --kill-others",
"start-e2e": "npm run deploy-static && npm run e2e --prefix ./api",
"test-e2e": "npm run e2e --prefix ./static"
},
"devDependencies": {
"concurrently": "^3.4.0"
"concurrently": "^3.4.0",
"wait-on": "^2.0.2"
}
}

View File

@ -20,6 +20,14 @@
#fractRadioOpfor
(change)="filterSquadsByFraction(query.value, fractRadioOpfor.value)">CSAT
</label>
<br>
<label class="radio-inline" style="padding-top: 8px;">
<input type="radio" name="fractSelect" value="global"
[(ngModel)]="fractionRadioSelect"
#fractRadioGlobal
(change)="filterSquadsByFraction(query.value, fractRadioGlobal.value)">Global
</label>
</form>
<a class="pull-right btn btn-success" (click)="openNewSquadForm()">
Neue Auszeichnung hinzufügen

View File

@ -25,10 +25,10 @@
overflow-x: hidden;
width: 100%;
border-left: thin solid lightgrey;
padding-left: 50px;
padding-top: 20px;
padding: 20px 0 0 50px;
margin-left: 10px;
height: 100vh;
bottom: 10px;
}
.form-group {
@ -36,8 +36,7 @@
}
h3 {
margin-bottom: 20px;
margin-left: -20px;
margin: 80px 0 20px -20px;
}
label {

View File

@ -12,7 +12,7 @@
required
style="min-width: 200px;">
<option *ngFor="let deco of decorations" [value]="deco._id">
{{deco.fraction == 'BLUFOR'? 'NATO' : 'CSAT'}}: {{deco.name}}
{{deco.fraction == 'BLUFOR'? 'NATO' : deco.fraction == 'OPFOR'? 'CSAT' : 'Global'}}: {{deco.name}}
</option>
</select>

View File

@ -20,6 +20,13 @@
#fractRadioOpfor
(change)="filterUsersByFraction(query.value, fractRadioOpfor.value)">CSAT
</label>
<br>
<label class="radio-inline" style="padding-top: 8px;">
<input type="radio" name="fractSelect" value="unassigned"
[(ngModel)]="fractionRadioSelect"
#fractRadioUnassigned
(change)="filterUsersByFraction(query.value, fractRadioUnassigned.value)">Ohne Squad
</label>
</form>
<a class="pull-right btn btn-success" (click)="openNewUserForm()">
Neuen Teilnehmer hinzufügen