Free cookie consent management tool by TermsFeed Policy Generator

source: branches/WebJobManager/HeuristicLab.Clients.Hive.WebJobManager/Views/User/Index.cshtml @ 13742

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

#2582 User delete, subscriptions. Groups add, delete, edit, add members

File size: 15.6 KB
Line 
1@using HeuristicLab.Clients.Hive.WebJobManager.ViewModels.User;
2@model UserViewModel
3<div id="userId" style="display:none">@ViewBag.SessionId</div>
4<div>
5
6    @Html.Partial("Navbar", new HeuristicLab.Clients.Hive.WebJobManager.ViewModels.NavbarViewModel("User"))
7
8    <ul class="nav nav-pills nav-justified">
9        <li role="presentation"
10            class="active">
11            <a asp-controller="User"
12               asp-action="Index">
13                <i class="fa fa-user"></i> Users
14            </a>
15        </li>
16        <li role="presentation"
17            class="">
18            <a asp-controller="User"
19               asp-action="Groups">
20                <i class="fa fa-group"></i> Groups
21            </a>
22        </li>
23        <li role="presentation"
24            class="">
25            <a asp-controller="User"
26               asp-action="Roles">
27                <i class="fa fa-sitemap"></i> Roles
28            </a>
29        </li>
30    </ul>
31    <div class="row"
32         style="text-align:center">
33        @Model.message
34    </div>
35    <div class="row"
36         style="padding:10px; margin-right:0px!important">
37        @if (Model.users.Count == 0)
38        {
39            <div>
40                <p style="text-align:center">
41                    No users found
42                </p>
43            </div>
44
45        }
46        else
47        {
48            <div class="col-sm-4">
49                <div class="btn-group-vertical btn-block">
50                    <a class="btn btn-info btn-lg btn-block disabled"
51                       style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
52                            text-shadow:2px 2px black;">
53                        <i class="fa fa-user"></i> @Model.users.Count User@(Model.users.Count != 1 ? "s" : "")
54                    </a>
55                    <a class="btn btn-success btn-block
56                       @(Model.SelectedUser.Id == Guid.Empty ? "active" : "")
57                       "
58                       asp-controller="User"
59                       asp-action="SelectUser"
60                       asp-route-id="@Guid.Empty"
61                       onclick="showUser()"
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                            text-shadow:2px 2px black;">
64                        <i class="fa fa-user-plus"></i> Add new user
65                    </a>
66                    @foreach (var user in Model.users)
67                    {
68                        <a class="btn  btn-default @( user.Id == Model.SelectedUser.Id ? "active" : "" )"
69                           style="box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);"
70                           asp-controller="User"
71                           asp-action="SelectUser"
72                           asp-route-id="@user.Id"
73                           onclick="showUser()">
74                            @user.UserName (@user.FullName)
75                        </a>
76                    }
77                </div>
78            </div>
79            <p style="display:none"
80               id="saver"
81               class="text-center">
82                <br /><br /><br /><br /><br /><br /><br />
83                <i class="fa fa-save fa-spin fa-5x" id="spinner">
84                </i>
85            </p>
86            <p style="display:none"
87               id="user"
88               class="text-center">
89                <br /><br /><br /><br /><br /><br /><br />
90                <i class="fa fa-user fa-spin fa-5x" id="spinner">
91                </i>
92            </p>
93            <p style="display:none"
94               id="deleter"
95               class="text-center">
96                <br /><br /><br /><br /><br /><br /><br />
97                <i class="fa fa-trash-o fa-spin fa-5x" id="spinner">
98                </i>
99            </p>
100            <div class="col-sm-8"
101                 id="content"
102                 style="padding:5px; padding-left:10px;">
103                @if (Model.SelectedUser != null)
104                {
105                    <div class="panel panel-default"
106                         style="border-width:2px!important;padding:17px;
107                        box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);">
108                        <div class="row">
109                            <h2 style="padding-left:20px">
110                                @if (Model.SelectedUser.Id != Guid.Empty)
111                                {
112                                    <i class="fa fa-user "></i> @Model.SelectedUser.UserName;
113                                }
114                                else
115                                {
116                                    <i class="fa fa-user-plus "></i> @("Add new user")
117
118                                }
119                            </h2>
120                            <form class="form-horizontal"
121                                  method="post"
122                                  asp-action="saveUser"
123                                  asp-controller="User" enctype="multipart/form-data">
124                                <div class="form-group" style="@(Model.SelectedUser.Id == Guid.Empty ? "" : "display:none")">
125                                    <label for="inpusername"
126                                           class="col-sm-3 control-label">
127                                        Username
128                                    </label>
129                                    <div class="col-sm-8">
130                                        <input type="text"
131                                               class="form-control"
132                                               id="inpusername"
133                                               name="inpusername"
134                                               placeholder="Username"
135                                               onkeydown="triggerSave()"
136                                               value="@Model.SelectedUser.UserName">
137                                    </div>
138                                </div>
139                                <div class="form-group">
140                                    <label for="inpfullname"
141                                           class="col-sm-3 control-label">
142                                        Full name
143                                    </label>
144                                    <div class="col-sm-8">
145                                        <input type="text"
146                                               class="form-control"
147                                               id="inpfullname"
148                                               name="inpfullname"
149                                               placeholder="Full name"
150                                               onkeydown="triggerSave()"
151                                               value="@Model.SelectedUser.FullName">
152                                    </div>
153                                </div>
154                                <div class="form-group">
155                                    <label for="inpemail"
156                                           class="col-sm-3 control-label">
157                                        Email
158                                    </label>
159                                    <div class="col-sm-8">
160                                        <input type="email"
161                                               class="form-control"
162                                               id="inpemail"
163                                               name="inpemail"
164                                               placeholder="Email"
165                                               onkeydown="triggerSave()"
166                                               value="@Model.SelectedUser.Email">
167                                    </div>
168                                </div>
169                                <div class="form-group">
170                                    <label class="col-sm-3 control-label">
171                                        User id
172                                    </label>
173                                    <label class="col-sm-8 control-label" style="text-align:left">
174                                        @Model.SelectedUser.Id
175                                    </label>
176                                    <input type="text"
177                                           style="display:none"
178                                           id="u"
179                                           name="u"
180                                           value="@Model.SelectedUser.Id" />
181                                </div>
182                                <div class="form-group">
183                                    <label class="col-sm-3 control-label">
184                                        Last login
185                                    </label>
186                                    <label class="col-sm-8 control-label" style="text-align:left">
187                                        @Model.SelectedUser.LastLoginDate.AddHours(2).ToString()
188                                    </label>
189                                </div>
190                                <div class="form-group">
191                                    <label class="col-sm-3 control-label">
192                                        Last activity
193                                    </label>
194                                    <label class="col-sm-8 control-label" style="text-align:left">
195                                        @Model.SelectedUser.LastActivityDate.AddHours(2).ToString()
196                                    </label>
197                                </div>
198                                @if (Model.SelectedUser.Id == Guid.Empty)
199                                {
200                                    <div class="form-group">
201                                        <div class="col-sm-offset-3 col-sm-9">
202                                            <button type="submit"
203                                                    id="inpsaver"
204                                                    disabled
205                                                    class="btn btn-default"
206                                                    onclick="showSaver()">
207                                                <i class="fa fa-plus-square-o"></i> Add user
208                                            </button>
209                                        </div>
210                                    </div>
211
212
213                                }
214                                else
215                                {
216                                    <div class="form-group">
217                                        <label class="col-sm-3 control-label">
218                                            Password
219                                        </label>
220                                        <div id="inppassreset" class="col-sm-8">
221                                            <button type="button"
222                                                    onclick="resetPass('@(Model.SelectedUser.Id)')"
223                                                    class="btn btn-default">
224                                                <i class="fa fa-unlock"></i> Reset password
225                                            </button>
226                                        </div>
227                                    </div>
228
229                                    <div class="form-group">
230                                        <label class="col-sm-3 control-label">
231                                            Member of
232                                        </label>
233                                        <div class="col-sm-8">
234                                            @if (Model.SelectedUserSubscriptions.Count > 0)
235                                            {
236                                                @foreach (var g in Model.SelectedUserSubscriptions)
237                                                {
238                                                    <p><i class="fa fa-group"></i> @g.Name</p>
239                                                }
240                                            }
241                                            else
242                                            {
243                                                <p>Not a member of any groups</p>
244                                            }
245                                        </div>
246                                    </div>
247                                    <div class="form-group">
248                                        <div class="col-sm-offset-3 col-sm-3">
249                                            <button type="submit"
250                                                    id="inpsaver"
251                                                    disabled
252                                                    class="btn btn-default"
253                                                    onclick="showSaver()">
254                                                <i class="fa fa-save"></i> Save changes
255                                            </button>
256                                        </div>
257                                        <div class="col-sm-5">
258                                            <a class="btn btn-danger pull-right"
259                                               asp-controller="User"
260                                               asp-action="deleteUser"
261                                               asp-route-id="@Model.SelectedUser.Id"
262                                               onclick="showDeleter()">
263                                                <i class="fa fa-trash-o"></i> Delete user
264                                            </a>
265                                        </div>
266                                    </div>
267
268
269
270                                }
271                                <script type="text/javascript">
272                                    function triggerSave() {
273                                        if ($("#inpfullname").val() != "" &&
274                                            $("#inpemail").val() != "") {
275                                            document.getElementById("inpsaver").className = "btn btn-lg btn-success";
276                                            document.getElementById("inpsaver").disabled = false;
277                                        }
278                                        else {
279                                            document.getElementById("inpsaver").className = "btn btn-default";
280                                            document.getElementById("inpsaver").disabled = true;
281
282                                        }
283
284                                    }
285                                </script>
286                            </form>
287
288                        </div>
289                    </div>
290
291                }
292
293
294
295
296            </div>
297        }
298    </div>
299
300    <script src="~/js/scripts/userinfohubber.js" type="text/javascript"></script>
301    <script type="text/javascript">
302        function showSaver() {
303            document.getElementById("content").style.display = "none";
304            document.getElementById("saver").style.display = "";
305
306        }
307        function showUser() {
308            document.getElementById("content").style.display = "none";
309            document.getElementById("user").style.display = "";
310
311        }
312        function showDeleter() {
313            document.getElementById("content").style.display = "none";
314            document.getElementById("deleter").style.display = "";
315        }
316    </script>
317</div>
Note: See TracBrowser for help on using the repository browser.