Free cookie consent management tool by TermsFeed Policy Generator

source: branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/User/Roles.cshtml @ 13847

Last change on this file since 13847 was 13847, checked in by jlodewyc, 8 years ago

#2582 Security access implemented, directory renaming and choosing, adding more partials

File size: 10.6 KB
Line 
1@using HeuristicLab.Clients.Hive.WebJobManager.ViewModels.User;
2@using HeuristicLab.Clients.Access;
3@model UserViewModel
4
5<div>
6
7    @Html.Partial("Navbar", new HeuristicLab.Clients.Hive.WebJobManager.ViewModels.NavbarViewModel("User", Model.currentUser))
8
9    <ul class="nav nav-pills nav-justified">
10        <li role="presentation"
11            class="">
12            <a asp-controller="User"
13               asp-action="Index">
14                <i class="fa fa-user"></i> Users
15            </a>
16        </li>
17        <li role="presentation"
18            class="">
19            <a asp-controller="User"
20               asp-action="Groups">
21                <i class="fa fa-users"></i> Groups
22            </a>
23        </li>
24        <li role="presentation"
25            class="active">
26            <a asp-controller="User"
27               asp-action="Roles">
28                <i class="fa fa-gavel"></i> Roles
29            </a>
30        </li>
31    </ul>
32    @Html.Partial("_ErrorMessage", Model.message)
33    <div class="row"
34         style="padding:10px; margin-right:0px!important">
35
36        <div class="col-sm-4">
37            <div class="btn-group btn-group-justified btn-block"
38                 role="group" style="margin-bottom:-4px">
39
40                <a class="btn btn-info btn-lg btn-block disabled"
41                   style="width:6%;box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
42                            text-shadow:2px 2px black;">
43                    <i class="fa fa-gavel"></i> @Model.roles.Count Role@(Model.roles.Count != 1 ? "s" : "")
44                </a>
45                <a class="btn btn-success btn-block
46                       @(Model.SelectedRole.Name == "" ? "active" : "")
47                       "
48                   asp-controller="User"
49                   asp-action="SelectRole"
50                   asp-route-name=""
51                   onclick="showRole()"
52                   style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
53                            text-shadow:2px 2px black;">
54                    <i class="fa fa-plus-circle"></i>
55                </a>
56            </div>
57            <div class="btn-group-vertical btn-block">
58               
59                @foreach (var role in Model.roles.OrderBy(x => x.Name))
60                {
61                    <a class="btn  btn-default @( role.Name == Model.SelectedRole.Name ? "active" : "" )"
62                       style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);"
63                       asp-controller="User"
64                       asp-action="SelectRole"
65                       asp-route-name="@role.Name"
66                       onclick="showRole()">
67                        @role.Name
68                    </a>
69                }
70            </div>
71        </div>
72        <p style="display:none"
73           id="saver"
74           class="text-center">
75            <br /><br /><br /><br /><br /><br /><br />
76            <i class="fa fa-save fa-spin fa-5x" id="spinner">
77            </i>
78        </p>
79        <p style="display:none"
80           id="role"
81           class="text-center">
82            <br /><br /><br /><br /><br /><br /><br />
83            <i class="fa fa-gavel fa-spin fa-5x" id="spinner">
84            </i>
85        </p>
86        <p style="display:none"
87           id="deleter"
88           class="text-center">
89            <br /><br /><br /><br /><br /><br /><br />
90            <i class="fa fa-trash-o fa-spin fa-5x" id="spinner">
91            </i>
92        </p>
93        <div class="col-sm-8"
94             id="content"
95             style="padding:5px; padding-left:10px;">
96            <div class="panel panel-default"
97                 style="border-width:2px!important;padding:17px;
98                        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">
99                <div class="row">
100                    <h2 style="padding-left:20px">
101                        @if (Model.SelectedRole.Name != "")
102                        {
103                            <i class="fa fa-gavel "></i> @Model.SelectedRole.Name;
104                        }
105                        else
106                        {
107                            <i class="fa fa-plus-circle "></i> @("Add new role")
108
109                        }
110                    </h2>
111                    <form class="form-horizontal"
112                          method="post"
113                          asp-action="saveRole"
114                          asp-controller="User" enctype="multipart/form-data">
115                        <div class="form-group">
116                            <label class="col-sm-3 control-label">
117                                Role name
118                            </label>
119                            <label class="col-sm-8 control-label"
120                                   style="text-align:left; @(Model.SelectedRole.Name == "" ? "display:none" : "")">
121                                @Model.SelectedRole.Name
122                            </label>
123                            <div class="col-sm-8"
124                                 style="@(Model.SelectedRole.Name == "" ? "" : "display:none")">
125                                <input type="text"
126                                       class="form-control"
127                                       id="inprolename"
128                                       name="inprolename"
129                                       placeholder="Role name"
130                                       value="@Model.SelectedRole.Name"
131                                       onkeydown="triggerSave()" />
132                            </div>
133                        </div>
134
135                        @if (Model.SelectedRole.Name == "")
136                        {
137                            <div class="form-group">
138                                <div class="col-sm-offset-3 col-sm-9">
139                                    <button type="submit"
140                                            id="inpsaver"
141                                            disabled
142                                            class="btn btn-default"
143                                            onclick="showSaver()">
144                                        <i class="fa fa-plus-square-o"></i> Add role
145                                    </button>
146                                </div>
147                            </div>
148
149
150                        }
151                        else
152                        {
153
154                            <div class="form-group">
155                                <label class="col-sm-3 control-label">
156                                   @Model.SelectedRoleEnrolled.Count Users
157                                </label>
158                                <div class="col-sm-8 control-label" style="text-align:left">
159                                    @foreach (var us in Model.SelectedRoleEnrolled)
160                                    {
161                                        <div class="row">
162                                            <p class="col-sm-10">
163                                                <i class="fa fa-user"></i> @(((User)us).UserName) (@(((User)us).FullName))
164                                            </p>
165                                            <p class="col-sm-2">
166                                                <a class="btn btn-danger pull-right"
167                                                   asp-controller="User"
168                                                   asp-action="deleteRoleUser"
169                                                   asp-route-id="@us.Id"
170                                                   asp-route-role="@Model.SelectedRole.Name"
171                                                   onclick="showDeleter()">
172                                                    <i class="fa fa-trash-o"></i>
173                                                </a>
174                                            </p>
175                                           
176                                        </div>
177                                    }
178                                   @if (Model.SelectedRoleEnrolled.Count == 0)
179                                   {
180                                    <p>
181                                        There are currently no users who have this role
182                                    </p>
183
184                                   }
185                                </div>
186                            </div>
187                            <div class="form-group">
188     
189                                <div class="col-sm-3">
190                                    <a class="btn btn-danger pull-right"
191                                       asp-controller="User"
192                                       asp-action="deleteRole"
193                                       asp-route-name="@Model.SelectedRole.Name"
194                                       
195                                       onclick="showDeleter()">
196                                        <i class="fa fa-trash-o"></i> Delete role
197                                    </a>
198                                </div>
199                            </div>
200
201
202
203                        }
204                        <script type="text/javascript">
205                            function triggerSave() {
206                                if ($("#inprolename").val() != "") {
207                                    document.getElementById("inpsaver").className = "btn btn-lg btn-success";
208                                    document.getElementById("inpsaver").disabled = false;
209                                }
210                                else {
211                                    document.getElementById("inpsaver").className = "btn btn-default";
212                                    document.getElementById("inpsaver").disabled = true;
213
214                                }
215
216                            }
217                        </script>
218                    </form>
219                </div>
220            </div>
221        </div>
222    </div>
223    <script type="text/javascript">
224        function showSaver() {
225            document.getElementById("content").style.display = "none";
226            document.getElementById("saver").style.display = "";
227
228        }
229        function showRole() {
230            document.getElementById("content").style.display = "none";
231            document.getElementById("role").style.display = "";
232
233        }
234        function showDeleter() {
235            document.getElementById("content").style.display = "none";
236            document.getElementById("deleter").style.display = "";
237        }
238    </script>
239</div>
Note: See TracBrowser for help on using the repository browser.