Fix army member detail & user list sort
parent
732d8a15f0
commit
1aa6ed10e0
|
@ -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)};
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "opt-cc",
|
||||
"version": "1.5.3",
|
||||
"version": "1.5.4",
|
||||
"license": "MIT",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
|
|
|
@ -2,13 +2,13 @@
|
|||
<div class="army-member-view-container">
|
||||
<div class="return-button">
|
||||
<span class="btn btn-default" style="position:absolute;" (click)="backToOverview()">< zurück zur Übersicht</span>
|
||||
<h3 class="text-center" [ngClass]="user.squad?.fraction === 'BLUFOR' ? 'blufor' : 'opfor'">
|
||||
<h3 class="text-center" [ngClass]="user.squadId?.fraction === 'BLUFOR' ? 'blufor' : 'opfor'">
|
||||
Auszeichnungen von {{user.rank?.name}} {{user.username}}
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="text-center">
|
||||
<img src="resource/signature/{{user._id}}.png">
|
||||
<img src="{{signatureUrl}}">
|
||||
</div>
|
||||
<div class="input-group" style="width: 662px; margin: auto;">
|
||||
<input type="text" style="background: white;" class="form-control" [(ngModel)]="signatureUrl" readonly>
|
||||
|
@ -29,7 +29,7 @@
|
|||
<th class="col-sm-1 text-right" style="border-radius: 0 10px 0 0;">Verliehen am</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody *ngFor="let award of user.awards">
|
||||
<tbody *ngFor="let award of awards">
|
||||
<tr *ngIf="award.confirmed === 1" class="cell-outline">
|
||||
<td class="text-center" *ngIf="award.decorationId.isMedal">
|
||||
<img height="90px" src="resource/decoration/{{award.decorationId._id}}.png">
|
||||
|
|
|
@ -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;
|
||||
}));
|
||||
});
|
||||
|
||||
};
|
||||
|
|
|
@ -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 {
|
||||
|
|
Loading…
Reference in New Issue