| | 1 | | @using MUNity.Database.Models.User |
| | 2 | |
|
| | 3 | | @page "/Organization/{Id}" |
| | 4 | |
|
| | 5 | | @inject Services.OrganizationService orgaService |
| | 6 | | @inject UserManager<MunityUser> userManager |
| | 7 | | @inject MunityContext dbContext |
| | 8 | |
|
| | 9 | |
|
| 0 | 10 | | @if (organization != null) |
| 0 | 11 | | { |
| 0 | 12 | | <h1 class="page-header">@organization.Name <small>@organization.Short</small></h1> |
| | 13 | |
|
| | 14 | | <!-- Projekte Board --> |
| | 15 | | <h3>Projekte</h3> |
| 0 | 16 | | @if (organization.Projects.Count == 0) |
| 0 | 17 | | { |
| 0 | 18 | | <p>Noch keine Projekte vorhanden. <button @onclick="() => createProjectModal.Show()" class="btn btn-primary">Pro |
| 0 | 19 | | } |
| | 20 | | else |
| 0 | 21 | | { |
| | 22 | | <div class="row"> |
| 0 | 23 | | @foreach (var project in organization.Projects) |
| 0 | 24 | | { |
| | 25 | | <div class="col-xl-3 col-md-6"> |
| | 26 | | <!-- Projekte könnten ein Corperate Design bekommen mit Farbcodes --> |
| | 27 | | <!-- Diese könnten an dieser Stelle geladen werden um die Hintergrundfarbe des --> |
| | 28 | | <!-- jeweiligen Projektes hier einzufügen. --> |
| | 29 | | <div class="widget widget-stats bg-blue"> |
| | 30 | | <!-- Das Icon könnte auch durch eine Transparente Version des Logos des Projekts --> |
| | 31 | | <!-- ausgetauscht werden. --> |
| | 32 | | <div class="stats-icon"><i class="oi oi-globe"></i></div> |
| | 33 | | <div class="stats-info"> |
| 0 | 34 | | <h4>@project.Name</h4> |
| 0 | 35 | | <p>@project.ConferenceCount Konferenzen</p> |
| | 36 | | </div> |
| | 37 | | <div class="stats-link"> |
| | 38 | | <a href="/project/@project.ProjectId">Details ansehen <i class="oi oi-arrow-circle-right"></ |
| | 39 | | </div> |
| | 40 | | </div> |
| | 41 | | </div> |
| 0 | 42 | | } |
| | 43 | | </div> |
| | 44 | |
|
| 0 | 45 | | } |
| | 46 | | <div class="row"> |
| | 47 | | <!-- Memebrs --> |
| | 48 | | <div class="col-xl-4 col-lg-6"> |
| | 49 | | <!-- BEGIN panel --> |
| | 50 | | <div class="panel panel-inverse" data-sortable-id="index-4" style=""> |
| | 51 | | <div class="panel-heading ui-sortable-handle"> |
| | 52 | | <h4 class="panel-title">Mitglieder</h4> |
| | 53 | | <span class="badge bg-teal">LoL</span> |
| | 54 | | </div> |
| | 55 | | <ul class="registered-users-list"> |
| 0 | 56 | | @foreach (var member in organization.Memebrs) |
| 0 | 57 | | { |
| | 58 | | <li> |
| | 59 | | <a href="javascript:;"><img src="../assets/img/user/user-5.jpg" alt=""></a> |
| | 60 | | <h4 class="username text-ellipsis"> |
| 0 | 61 | | @member.Forename @member.LastName (@@@member.MemberUserName) |
| 0 | 62 | | <small>@member.RoleName</small> |
| | 63 | | </h4> |
| | 64 | | </li> |
| 0 | 65 | | } |
| | 66 | | </ul> |
| | 67 | | <div class="panel-footer text-center"> |
| | 68 | | <a href="javascript:;" class="text-decoration-none text-inverse">Alle Mitglieder anzeigen</a> |
| | 69 | | </div> |
| | 70 | | </div> |
| | 71 | | <!-- END panel --> |
| | 72 | | </div> |
| | 73 | | </div> |
| | 74 | |
|
| | 75 | |
|
| | 76 | | <MUNity.BlazorServer.Components.Project.CreateProjectModal |
| | 77 | | OrganizationId="@organization.OrganizationId" |
| 0 | 78 | | @ref="createProjectModal" /> |
| 0 | 79 | | } |
| | 80 | | else |
| 0 | 81 | | { |
| | 82 | | <p>Organisation nicht gefunden oder keine Berechtigung.</p> |
| 0 | 83 | | } |
| | 84 | |
|
| | 85 | | @code { |
| 0 | 86 | | [CascadingParameter] private Task<AuthenticationState> authStateTask { get; set; } |
| | 87 | |
|
| | 88 | | private MUNity.Schema.Organization.OrganizationDashboardInfo organization; |
| | 89 | |
|
| | 90 | | private MUNity.BlazorServer.Components.Project.CreateProjectModal createProjectModal; |
| | 91 | |
|
| 0 | 92 | | [Parameter] public string Id { get; set; } |
| | 93 | |
|
| | 94 | | protected override async Task OnInitializedAsync() |
| 0 | 95 | | { |
| | 96 | |
|
| 0 | 97 | | var userClaim = (await authStateTask)?.User; |
| 0 | 98 | | if (userClaim != null) |
| 0 | 99 | | { |
| 0 | 100 | | var user = await userManager.GetUserAsync(userClaim); |
| 0 | 101 | | if (user != null && dbContext.OrganizationMembers.Any(n => n.User.Id == user.Id && n.Organization.Organizati |
| 0 | 102 | | { |
| 0 | 103 | | organization = orgaService.GetDashboardInfo(Id); |
| 0 | 104 | | } |
| 0 | 105 | | } |
| | 106 | |
|
| 0 | 107 | | } |
| | 108 | |
|
| | 109 | | } |