diff --git a/api/routes/users.js b/api/routes/users.js index 9554e25..5e77d30 100644 --- a/api/routes/users.js +++ b/api/routes/users.js @@ -10,7 +10,6 @@ const codes = require('./http-codes'); const apiAuthenticationMiddleware = require('../middleware/auth-middleware'); const checkHl = require('../middleware/permission-check').checkHl; -const sortCollectionBy = require('../middleware/util').sortCollection; const offsetlimitMiddleware = require('../middleware/limitoffset-middleware-mongo'); const filterHandlerCreator = require('../middleware/filter-handler-mongo'); const routerHandling = require('../middleware/router-handling'); @@ -31,14 +30,14 @@ users.route('/') const userQuery = () => { UserModel.find(dbFilter, res.locals.filter, res.locals.limitskip) .populate('squadId') - .exec((err, users) => { + .collation({locale: "en", strength: 2}) // case insensitive order + .sort('username').exec((err, users) => { if (err) return next(err); if (users.length === 0) { res.locals.items = users; res.locals.processed = true; return next(); } - //users = sortCollectionBy(users, 'username'); UserModel.count(dbFilter, (err, totalCount) => { res.set('x-total-count', totalCount); res.locals.items = users; @@ -48,10 +47,10 @@ users.route('/') }) }; - if (!req.query.q) req.query.q = '' + if (!req.query.q) req.query.q = ''; const dbFilter = {username: {"$regex": req.query.q, "$options": "i"}}; if (req.query.squadId) dbFilter["squadId"] = {"$eq": req.query.squadId}; - // squad / fracion filter setup + // squad / fraction filter setup if (req.query.fractFilter && req.query.fractFilter !== 'UNASSIGNED' && !req.query.squadId) { SquadModel.find({'fraction': req.query.fractFilter}, {_id: 1}, (err, squads) => { dbFilter['squadId'] = {$in: squads.map(squad => squad.id)}; diff --git a/package.json b/package.json index 755ff8b..2ef491a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "opt-cc", - "version": "1.5.3", + "version": "1.5.4", "license": "MIT", "private": true, "scripts": { diff --git a/static/src/app/army/army-member.component.html b/static/src/app/army/army-member.component.html index b7b3488..18734df 100644 --- a/static/src/app/army/army-member.component.html +++ b/static/src/app/army/army-member.component.html @@ -2,13 +2,13 @@
< zurück zur Übersicht -

+

Auszeichnungen von {{user.rank?.name}} {{user.username}}

- +
@@ -29,7 +29,7 @@ Verliehen am - + diff --git a/static/src/app/army/army-member.component.ts b/static/src/app/army/army-member.component.ts index 0355e4a..84937ed 100644 --- a/static/src/app/army/army-member.component.ts +++ b/static/src/app/army/army-member.component.ts @@ -1,9 +1,10 @@ import {Component} from "@angular/core"; -import {User} from "../models/model-interfaces"; +import {Award, User} from "../models/model-interfaces"; import {ActivatedRoute, Router} from "@angular/router"; import {UserService} from "../services/user-service/user.service"; import {Subscription} from "rxjs/Subscription"; import {RouteConfig} from "../app.config"; +import {AwardingService} from "../services/awarding-service/awarding.service"; @Component({ @@ -17,13 +18,16 @@ export class ArmyMemberComponent { user: User = {}; + awards: Award[] = []; + signatureUrl; isCopied = false; constructor(private router: Router, private route: ActivatedRoute, - private userService: UserService) { + private userService: UserService, + private awardingService: AwardingService) { } ngOnInit() { @@ -34,6 +38,9 @@ export class ArmyMemberComponent { .subscribe(user => { this.user = user; this.signatureUrl = window.location.origin + '/resource/signature/' + user._id + '.png'; + this.awardingService.getUserAwardings(user._id).subscribe((awards => { + this.awards = awards; + })); }); }; diff --git a/static/src/app/users/award-user/award-user.component.css b/static/src/app/users/award-user/award-user.component.css index 63dbe91..fb1ca78 100644 --- a/static/src/app/users/award-user/award-user.component.css +++ b/static/src/app/users/award-user/award-user.component.css @@ -15,11 +15,13 @@ .table-container { margin-top: 40px; overflow-x: auto; - width: 50%; + width: 90%; + min-width: 800px; } .form-group { - width: 25%; + width: 30%; + min-width: 400px; } h3 {