κρμγ před 5 roky
rodič
revize
723aa4a600

+ 2 - 1
src/app/src/app/org/org.service.ts

@@ -24,6 +24,7 @@ export class OrgService {
 }
 
 export class OrgInfo {
-  id: string
+  privateId: string
+  personId: string
   position: string
 }

+ 24 - 1
src/app/src/app/org/privotal.page.component.html

@@ -1 +1,24 @@
-asdfasd
+<div fxFlex="100" fxLayout="row" fxLayoutAlign="stretch start" fxLayoutGap="0.5em">
+  <div fxFlex="25" fxLayout="column" fxLayoutAlign="start stretch" fxLayoutGap="0.5em">
+    <mat-toolbar>
+      <mat-toolbar-row>
+        <mat-icon>business</mat-icon>&nbsp;Организация
+      </mat-toolbar-row>
+    </mat-toolbar>
+    <mat-card *ngIf="orgInfo | async">
+      <mat-card-header>
+        <div class="org-header-avatar" mat-card-avatar></div>
+        <mat-card-title>
+          <label-id [id]="(orgInfo | async).privateId" default="Организация"></label-id>
+        </mat-card-title>
+        <mat-card-subtitle>Пульт управления свободной организацией!</mat-card-subtitle>
+      </mat-card-header>
+      <mat-card-content>
+        <p>Блаблабла тьфу</p>
+      </mat-card-content>
+      <mat-card-actions>
+        <button mat-button>ЧТО-ТО</button>
+      </mat-card-actions>
+    </mat-card>
+  </div>
+</div>

+ 4 - 0
src/app/src/app/org/privotal.page.component.scss

@@ -0,0 +1,4 @@
+.org-header-avatar {
+  background-image: url('../../assets/org.png');
+  background-size: cover;
+}

+ 6 - 2
src/app/src/app/org/privotal.page.component.ts

@@ -1,8 +1,9 @@
 import {AfterViewInit, Component, OnDestroy, OnInit} from "@angular/core";
 import {ActivatedRoute} from "@angular/router";
-import {OrgService} from "./org.service";
+import {OrgInfo, OrgService} from "./org.service";
 import {PersonService} from "../person/person.service";
 import {AppComponent} from "../app.component";
+import {Observable, ReplaySubject} from "rxjs";
 
 @Component({
   selector: 'private-page',
@@ -11,9 +12,12 @@ import {AppComponent} from "../app.component";
 })
 export class PrivotalPageComponent implements OnInit, OnDestroy, AfterViewInit {
 
+  orgInfo: Observable<OrgInfo>
+
   constructor(private app: AppComponent, private route: ActivatedRoute, private orgService: OrgService, private personService: PersonService) {
+    let orgInfo = this.orgInfo = new ReplaySubject()
     route.paramMap.subscribe(par => personService.getCurrentPerson().subscribe(person => orgService.getOrg(par.get("privateId"), person.auth.id).subscribe(org => {
-
+      orgInfo.next(org)
     })))
     app.setTitle("КАБИНЕТ ОРГАНИЗАЦИИ")
   }

+ 2 - 2
src/app/src/app/person/person.page.component.html

@@ -102,10 +102,10 @@
       </mat-toolbar-row>
     </mat-toolbar>
     <mat-list>
-      <mat-list-item *ngFor="let org of orgs" [routerLink]="['/privotal', {privateId: org.id}]" class="href">
+      <mat-list-item *ngFor="let org of orgs" [routerLink]="['/privotal', {privateId: org.privateId}]" class="href">
         <mat-icon mat-list-icon>business</mat-icon>
         <div mat-line>
-          <label-id [id]="org.id" [labelOnly]="true" default="Организация"></label-id>
+          <label-id [id]="org.privateId" [labelOnly]="true" default="Организация"></label-id>
         </div>
         <div mat-line>
           <span *ngIf="org.position == 'owner'">вы владелец</span>

binární
src/app/src/assets/org.png


+ 5 - 5
src/main/kotlin/inn/ocsf/bee/freigeld/serve/rest/OrgController.kt

@@ -37,10 +37,10 @@ class OrgController {
     fun list(@PathVariable("ownerId") ownerId: UUID): ResponseEntity<List<PrivatePersonInfo>> {
         val ret = (worldService.findAllByOwnerId(ownerId).map {
             //val org = world.getPerson(it)
-            PrivatePersonInfo(it, PersonMemberPosition.owner)
+            PrivatePersonInfo(it, ownerId, PersonMemberPosition.owner)
         } + worldService.findAllByMemberId(ownerId).map {
-            PrivatePersonInfo(it._1, it._2)
-        }).distinctBy { it.id }
+            PrivatePersonInfo(it._1, ownerId, it._2)
+        }).distinctBy { it.privateId }
         return ResponseEntity.ok(ret)
     }
 
@@ -49,7 +49,7 @@ class OrgController {
         val org = world.getPerson(privateId)
         return if (org != null) {
             val accessors = world.getPersonIdentitySet(org) ?: setOf()
-            val ret = accessors.filter { it is PersonIdentityPrivateMember }.map { it as PersonIdentityPrivateMember }.filter { it.personId == memberId }.map { PrivatePersonInfo(it.personId, it.position) }.firstOrNull()
+            val ret = accessors.filter { it is PersonIdentityPrivateMember }.map { it as PersonIdentityPrivateMember }.filter { it.personId == memberId }.map { PrivatePersonInfo(org.id, it.personId, it.position) }.firstOrNull()
             if (ret != null) {
                 ResponseEntity.ok(ret)
             } else {
@@ -61,6 +61,6 @@ class OrgController {
     }
 }
 
-data class PrivatePersonInfo(val id: UUID, val position: PersonMemberPosition)
+data class PrivatePersonInfo(val privateId: UUID, val personId: UUID, val position: PersonMemberPosition)
 
 data class NewPrivatePersonReq(val ownerId: UUID)