Feature #43: Specify Admins at Initial Config
Disco Administrators can be specified during the Initial Configuration
This commit is contained in:
@@ -243,6 +243,7 @@ namespace Disco.Services.Logging
|
|||||||
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(0, 0)) // Midnight
|
.WithSchedule(CronScheduleBuilder.DailyAtHourAndMinute(0, 0)) // Midnight
|
||||||
.Build();
|
.Build();
|
||||||
|
|
||||||
|
if (!_ReInitializeScheduler.CheckExists(reInitalizeTrigger.Key))
|
||||||
_ReInitializeScheduler.ScheduleJob(reInitalizeJobDetail, reInitalizeTrigger);
|
_ReInitializeScheduler.ScheduleJob(reInitalizeJobDetail, reInitalizeTrigger);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,7 @@ else
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateNoSubjects();
|
updateNoSubjects();
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function add() {
|
function add() {
|
||||||
@@ -152,7 +153,7 @@ else
|
|||||||
data: { Id: id }
|
data: { Id: id }
|
||||||
}).done(function (response) {
|
}).done(function (response) {
|
||||||
if (response) {
|
if (response) {
|
||||||
if (list.find('li[data-subjectid="' + response.Id + '"]').length == 0) {
|
if (list.find('li[data-subjectid="' + response.Id.replace('\\', '\\\\') + '"]').length == 0) {
|
||||||
|
|
||||||
var liIcon = $('<i>').addClass('fa fa-lg');
|
var liIcon = $('<i>').addClass('fa fa-lg');
|
||||||
if (response.Type === 'user')
|
if (response.Type === 'user')
|
||||||
@@ -180,6 +181,7 @@ else
|
|||||||
}).fail(function (jqXHR, textStatus, errorThrown) {
|
}).fail(function (jqXHR, textStatus, errorThrown) {
|
||||||
alert('Error: ' + errorThrown);
|
alert('Error: ' + errorThrown);
|
||||||
});
|
});
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateNoSubjects() {
|
function updateNoSubjects() {
|
||||||
|
|||||||
@@ -412,11 +412,11 @@ WriteLiteral("\',\r\n minLength: 2,\r\n
|
|||||||
");\r\n\r\n if ($this.is(\'[data-subjectstatus=\"new\"]\')) {\r\n " +
|
");\r\n\r\n if ($this.is(\'[data-subjectstatus=\"new\"]\')) {\r\n " +
|
||||||
" $this.remove();\r\n } else {\r\n $this.attr(\'data-subject" +
|
" $this.remove();\r\n } else {\r\n $this.attr(\'data-subject" +
|
||||||
"status\', \'removed\').hide();\r\n }\r\n\r\n updateNoSubjects();\r\n " +
|
"status\', \'removed\').hide();\r\n }\r\n\r\n updateNoSubjects();\r\n " +
|
||||||
" }\r\n\r\n function add() {\r\n var id = textAdd.val();\r\n\r\n " +
|
" return false;\r\n }\r\n\r\n function add() {\r\n var" +
|
||||||
" $.ajax({\r\n url: \'");
|
" id = textAdd.val();\r\n\r\n $.ajax({\r\n url: \'");
|
||||||
|
|
||||||
|
|
||||||
#line 150 "..\..\Areas\Config\Views\AuthorizationRole\Index.cshtml"
|
#line 151 "..\..\Areas\Config\Views\AuthorizationRole\Index.cshtml"
|
||||||
Write(Url.Action(MVC.API.AuthorizationRole.Subject()));
|
Write(Url.Action(MVC.API.AuthorizationRole.Subject()));
|
||||||
|
|
||||||
|
|
||||||
@@ -424,35 +424,35 @@ WriteLiteral("\',\r\n minLength: 2,\r\n
|
|||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral("\',\r\n method: \'post\',\r\n data: { Id: id }\r\n " +
|
WriteLiteral("\',\r\n method: \'post\',\r\n data: { Id: id }\r\n " +
|
||||||
" }).done(function (response) {\r\n if (response) {\r\n " +
|
" }).done(function (response) {\r\n if (response) {\r\n " +
|
||||||
" if (list.find(\'li[data-subjectid=\"\' + response.Id + \'\"]\').length == 0) {\r\n" +
|
" if (list.find(\'li[data-subjectid=\"\' + response.Id.replace(\'\\\\\', \'\\\\\\\\\') + " +
|
||||||
"\r\n var liIcon = $(\'<i>\').addClass(\'fa fa-lg\');\r\n " +
|
"\'\"]\').length == 0) {\r\n\r\n var liIcon = $(\'<i>\').addClass(\'" +
|
||||||
" if (response.Type === \'user\')\r\n liIcon" +
|
"fa fa-lg\');\r\n if (response.Type === \'user\')\r\n " +
|
||||||
".addClass(\'fa-user\');\r\n else\r\n " +
|
" liIcon.addClass(\'fa-user\');\r\n else\r\n " +
|
||||||
" liIcon.addClass(\'fa-users\');\r\n\r\n var li = $(\'<li>\')\r\n " +
|
" liIcon.addClass(\'fa-users\');\r\n\r\n v" +
|
||||||
" .append(liIcon)\r\n .append($(" +
|
"ar li = $(\'<li>\')\r\n .append(liIcon)\r\n " +
|
||||||
"\'<span>\').text(response.Id == response.Name ? response.Id : response.Name + \' [\'" +
|
" .append($(\'<span>\').text(response.Id == response.Name ? response.Id " +
|
||||||
" + response.Id + \']\'))\r\n .append($(\'<i>\').addClass(\'f" +
|
": response.Name + \' [\' + response.Id + \']\'))\r\n .appen" +
|
||||||
"a fa-times-circle remove\'))\r\n .addClass(response.Type" +
|
"d($(\'<i>\').addClass(\'fa fa-times-circle remove\'))\r\n ." +
|
||||||
")\r\n .attr(\'data-subjectid\', response.Id)\r\n " +
|
"addClass(response.Type)\r\n .attr(\'data-subjectid\', res" +
|
||||||
" .attr(\'data-subjectstatus\', \'new\');\r\n\r\n " +
|
"ponse.Id)\r\n .attr(\'data-subjectstatus\', \'new\');\r\n\r\n " +
|
||||||
"list.append(li);\r\n\r\n updateNoSubjects();\r\n " +
|
" list.append(li);\r\n\r\n updateNoSubjec" +
|
||||||
" } else {\r\n alert(\'That subject has already been adde" +
|
"ts();\r\n } else {\r\n alert(\'That subject" +
|
||||||
"d\');\r\n }\r\n } else {\r\n alert" +
|
" has already been added\');\r\n }\r\n } else {\r\n " +
|
||||||
"(\'Unknown Id\');\r\n }\r\n }).fail(function (jqXHR, textSta" +
|
" alert(\'Unknown Id\');\r\n }\r\n }).fail(fu" +
|
||||||
"tus, errorThrown) {\r\n alert(\'Error: \' + errorThrown);\r\n " +
|
"nction (jqXHR, textStatus, errorThrown) {\r\n alert(\'Error: \' + err" +
|
||||||
" });\r\n }\r\n\r\n function updateNoSubjects() {\r\n if (l" +
|
"orThrown);\r\n });\r\n return false;\r\n }\r\n\r\n " +
|
||||||
"ist.find(\'li:visible\').length > 0)\r\n noSubjects.hide();\r\n " +
|
" function updateNoSubjects() {\r\n if (list.find(\'li:visible\').leng" +
|
||||||
" else\r\n noSubjects.show();\r\n }\r\n\r\n function save" +
|
"th > 0)\r\n noSubjects.hide();\r\n else\r\n n" +
|
||||||
"Changes() {\r\n var form = $(\'#Config_AuthRoles_Subjects_Update_Dialog_" +
|
"oSubjects.show();\r\n }\r\n\r\n function saveChanges() {\r\n va" +
|
||||||
"Form\').empty();\r\n\r\n list.find(\'li[data-subjectstatus!=\"removed\"]\').ea" +
|
"r form = $(\'#Config_AuthRoles_Subjects_Update_Dialog_Form\').empty();\r\n\r\n " +
|
||||||
"ch(function () {\r\n var subjectId = $(this).attr(\'data-subjectid\')" +
|
" list.find(\'li[data-subjectstatus!=\"removed\"]\').each(function () {\r\n " +
|
||||||
";\r\n\r\n form.append($(\'<input>\').attr({\r\n \'name\'" +
|
" var subjectId = $(this).attr(\'data-subjectid\');\r\n\r\n form.a" +
|
||||||
": \'Subjects\',\r\n \'type\': \'hidden\'\r\n }).val(subj" +
|
"ppend($(\'<input>\').attr({\r\n \'name\': \'Subjects\',\r\n " +
|
||||||
"ectId));\r\n\r\n }).get();\r\n\r\n form.submit();\r\n\r\n d" +
|
" \'type\': \'hidden\'\r\n }).val(subjectId));\r\n\r\n })." +
|
||||||
"ialog.dialog(\"disable\");\r\n dialog.dialog(\"option\", \"buttons\", null);\r" +
|
"get();\r\n\r\n form.submit();\r\n\r\n dialog.dialog(\"disable\");\r\n " +
|
||||||
"\n }\r\n\r\n $(function () {\r\n $(\'#Config_AuthRoles_UpdateAd" +
|
" dialog.dialog(\"option\", \"buttons\", null);\r\n }\r\n\r\n $(fun" +
|
||||||
"ministrators\').click(showDialog);\r\n });\r\n\r\n })();\r\n</script>\r\n<!-- #en" +
|
"ction () {\r\n $(\'#Config_AuthRoles_UpdateAdministrators\').click(showDi" +
|
||||||
"dregion -->\r\n<div");
|
"alog);\r\n });\r\n\r\n })();\r\n</script>\r\n<!-- #endregion -->\r\n<div");
|
||||||
|
|
||||||
WriteLiteral(" class=\"actionBar\"");
|
WriteLiteral(" class=\"actionBar\"");
|
||||||
|
|
||||||
@@ -467,7 +467,7 @@ WriteLiteral(" class=\"button\"");
|
|||||||
WriteLiteral(">Update Disco Administrators [");
|
WriteLiteral(">Update Disco Administrators [");
|
||||||
|
|
||||||
|
|
||||||
#line 219 "..\..\Areas\Config\Views\AuthorizationRole\Index.cshtml"
|
#line 221 "..\..\Areas\Config\Views\AuthorizationRole\Index.cshtml"
|
||||||
Write(Model.AdministratorSubjects.Count);
|
Write(Model.AdministratorSubjects.Count);
|
||||||
|
|
||||||
|
|
||||||
@@ -478,13 +478,13 @@ WriteLiteral("]</a>\r\n");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 220 "..\..\Areas\Config\Views\AuthorizationRole\Index.cshtml"
|
#line 222 "..\..\Areas\Config\Views\AuthorizationRole\Index.cshtml"
|
||||||
Write(Html.ActionLinkButton("Create Authorization Role", MVC.Config.AuthorizationRole.Create()));
|
Write(Html.ActionLinkButton("Create Authorization Role", MVC.Config.AuthorizationRole.Create()));
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral("\r\n</div>");
|
WriteLiteral("\r\n</div>\r\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -174,7 +174,7 @@
|
|||||||
data: { Id: id }
|
data: { Id: id }
|
||||||
}).done(function(response){
|
}).done(function(response){
|
||||||
if (response){
|
if (response){
|
||||||
if (list.find('li[data-subjectid="'+response.Id+'"]').length == 0){
|
if (list.find('li[data-subjectid="'+response.Id.replace('\\', '\\\\')+'"]').length == 0){
|
||||||
|
|
||||||
var liIcon = $('<i>').addClass('fa fa-lg');
|
var liIcon = $('<i>').addClass('fa fa-lg');
|
||||||
if (response.Type === 'user')
|
if (response.Type === 'user')
|
||||||
|
|||||||
@@ -242,15 +242,15 @@ WriteLiteral("></i>");
|
|||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral(" <a");
|
WriteLiteral(" <a");
|
||||||
|
|
||||||
WriteAttribute("href", Tuple.Create(" href=\"", 2766), Tuple.Create("\"", 2836)
|
WriteAttribute("href", Tuple.Create(" href=\"", 2676), Tuple.Create("\"", 2746)
|
||||||
|
|
||||||
#line 57 "..\..\Areas\Config\Views\AuthorizationRole\Show.cshtml"
|
#line 57 "..\..\Areas\Config\Views\AuthorizationRole\Show.cshtml"
|
||||||
, Tuple.Create(Tuple.Create("", 2773), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.User.Show(sg.Id))
|
, Tuple.Create(Tuple.Create("", 2683), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.User.Show(sg.Id))
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
, 2773), false)
|
, 2683), false)
|
||||||
, Tuple.Create(Tuple.Create("", 2808), Tuple.Create("#UserDetailTab-Authorization", 2808), true)
|
, Tuple.Create(Tuple.Create("", 2718), Tuple.Create("#UserDetailTab-Authorization", 2718), true)
|
||||||
);
|
);
|
||||||
|
|
||||||
WriteLiteral("><i");
|
WriteLiteral("><i");
|
||||||
@@ -343,14 +343,14 @@ WriteLiteral(">\r\n");
|
|||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral(" <li");
|
WriteLiteral(" <li");
|
||||||
|
|
||||||
WriteAttribute("class", Tuple.Create(" class=\"", 3887), Tuple.Create("\"", 3927)
|
WriteAttribute("class", Tuple.Create(" class=\"", 3797), Tuple.Create("\"", 3837)
|
||||||
|
|
||||||
#line 71 "..\..\Areas\Config\Views\AuthorizationRole\Show.cshtml"
|
#line 71 "..\..\Areas\Config\Views\AuthorizationRole\Show.cshtml"
|
||||||
, Tuple.Create(Tuple.Create("", 3895), Tuple.Create<System.Object, System.Int32>(sg.IsGroup ? "group" : "user"
|
, Tuple.Create(Tuple.Create("", 3805), Tuple.Create<System.Object, System.Int32>(sg.IsGroup ? "group" : "user"
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
, 3895), false)
|
, 3805), false)
|
||||||
);
|
);
|
||||||
|
|
||||||
WriteLiteral(" data-subjectid=\"");
|
WriteLiteral(" data-subjectid=\"");
|
||||||
@@ -465,14 +465,14 @@ WriteLiteral(">Add</a>\r\n </div>\r\n
|
|||||||
|
|
||||||
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_Form\"");
|
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_Form\"");
|
||||||
|
|
||||||
WriteAttribute("action", Tuple.Create(" action=\"", 5172), Tuple.Create("\"", 5269)
|
WriteAttribute("action", Tuple.Create(" action=\"", 5168), Tuple.Create("\"", 5265)
|
||||||
|
|
||||||
#line 86 "..\..\Areas\Config\Views\AuthorizationRole\Show.cshtml"
|
#line 86 "..\..\Areas\Config\Views\AuthorizationRole\Show.cshtml"
|
||||||
, Tuple.Create(Tuple.Create("", 5181), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.AuthorizationRole.UpdateSubjects(Model.Token.Role.Id, null, true))
|
, Tuple.Create(Tuple.Create("", 5177), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.API.AuthorizationRole.UpdateSubjects(Model.Token.Role.Id, null, true))
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
, 5181), false)
|
, 5177), false)
|
||||||
);
|
);
|
||||||
|
|
||||||
WriteLiteral(" method=\"post\"");
|
WriteLiteral(" method=\"post\"");
|
||||||
@@ -552,49 +552,49 @@ WriteLiteral("\',\r\n minLength: 2,\r
|
|||||||
WriteLiteral("\',\r\n method: \'post\',\r\n " +
|
WriteLiteral("\',\r\n method: \'post\',\r\n " +
|
||||||
" data: { Id: id }\r\n }).done(function(r" +
|
" data: { Id: id }\r\n }).done(function(r" +
|
||||||
"esponse){\r\n if (response){\r\n " +
|
"esponse){\r\n if (response){\r\n " +
|
||||||
" if (list.find(\'li[data-subjectid=\"\'+response.Id+\'\"]\').len" +
|
" if (list.find(\'li[data-subjectid=\"\'+response.Id.replace(\'" +
|
||||||
"gth == 0){\r\n \r\n " +
|
"\\\\\', \'\\\\\\\\\')+\'\"]\').length == 0){\r\n \r\n" +
|
||||||
" var liIcon = $(\'<i>\').addClass(\'fa fa-lg\');\r\n " +
|
" var liIcon = $(\'<i>\').addClass(\'fa f" +
|
||||||
" if (response.Type === \'user\')\r\n " +
|
"a-lg\');\r\n if (response.Type === \'user" +
|
||||||
" liIcon.addClass(\'fa-user\');\r\n " +
|
"\')\r\n liIcon.addClass(\'fa-user\');\r" +
|
||||||
" else\r\n liI" +
|
"\n else\r\n " +
|
||||||
"con.addClass(\'fa-users\');\r\n\r\n var li " +
|
" liIcon.addClass(\'fa-users\');\r\n\r\n " +
|
||||||
"= $(\'<li>\')\r\n .append(liIcon)\r\n " +
|
" var li = $(\'<li>\')\r\n " +
|
||||||
" .append($(\'<span>\').text(response." +
|
" .append(liIcon)\r\n .append($(\'<" +
|
||||||
"Id == response.Name ? response.Id : response.Name + \' [\' + response.Id + \']\'))\r" +
|
"span>\').text(response.Id == response.Name ? response.Id : response.Name + \' [\' " +
|
||||||
"\n .append($(\'<i>\').addClass(\'fa f" +
|
"+ response.Id + \']\'))\r\n .append($" +
|
||||||
"a-times-circle remove\'))\r\n .addCl" +
|
"(\'<i>\').addClass(\'fa fa-times-circle remove\'))\r\n " +
|
||||||
"ass(response.Type)\r\n .attr(\'data-" +
|
" .addClass(response.Type)\r\n " +
|
||||||
"subjectid\', response.Id)\r\n .attr(" +
|
" .attr(\'data-subjectid\', response.Id)\r\n " +
|
||||||
"\'data-subjectstatus\', \'new\');\r\n\r\n lis" +
|
" .attr(\'data-subjectstatus\', \'new\');\r\n\r\n " +
|
||||||
"t.append(li);\r\n\r\n updateNoSubjects();" +
|
" list.append(li);\r\n\r\n " +
|
||||||
" \r\n " +
|
" updateNoSubjects(); \r\n " +
|
||||||
" }else{\r\n alert(\'That subject has al" +
|
" }else{\r\n aler" +
|
||||||
"ready been added\');\r\n }\r\n " +
|
"t(\'That subject has already been added\');\r\n " +
|
||||||
" }else{\r\n alert(\'Unkno" +
|
" }\r\n }else{\r\n " +
|
||||||
"wn Id\');\r\n }\r\n " +
|
" alert(\'Unknown Id\');\r\n }\r\n " +
|
||||||
" }).fail(function(jqXHR, textStatus, errorThrown){\r\n " +
|
" }).fail(function(jqXHR, textStatus, errorThrown){\r\n " +
|
||||||
" alert(\'Error: \' + errorThrown);\r\n });\r\n " +
|
" alert(\'Error: \' + errorThrown);\r\n " +
|
||||||
" }\r\n\r\n function updateNo" +
|
" });\r\n }\r\n\r\n " +
|
||||||
"Subjects(){\r\n if (list.find(\'li:visible\').length " +
|
" function updateNoSubjects(){\r\n if (list.find" +
|
||||||
"> 0)\r\n noSubjects.hide();\r\n " +
|
"(\'li:visible\').length > 0)\r\n noSubjects.hide(" +
|
||||||
" else\r\n noSubjects.show();\r\n " +
|
");\r\n else\r\n no" +
|
||||||
" }\r\n\r\n function saveChanges(){" +
|
"Subjects.show();\r\n }\r\n\r\n f" +
|
||||||
"\r\n var form = $(\'#Config_AuthRoles_Subjects_Updat" +
|
"unction saveChanges(){\r\n var form = $(\'#Config_Au" +
|
||||||
"e_Dialog_Form\').empty();\r\n\r\n list.find(\'li[data-s" +
|
"thRoles_Subjects_Update_Dialog_Form\').empty();\r\n\r\n " +
|
||||||
"ubjectstatus!=\"removed\"]\').each(function(){\r\n " +
|
" list.find(\'li[data-subjectstatus!=\"removed\"]\').each(function(){\r\n " +
|
||||||
" var subjectId = $(this).attr(\'data-subjectid\');\r\n " +
|
" var subjectId = $(this).attr(\'data-subjectid\');\r\n " +
|
||||||
" \r\n form.append($(\'<input>\').attr({\r\n " +
|
" \r\n form.append($(" +
|
||||||
" \'name\': \'Subjects\',\r\n " +
|
"\'<input>\').attr({\r\n \'name\': \'Subjects\',\r\n" +
|
||||||
" \'type\': \'hidden\'\r\n }).val(s" +
|
" \'type\': \'hidden\'\r\n " +
|
||||||
"ubjectId));\r\n\r\n }).get();\r\n\r\n " +
|
" }).val(subjectId));\r\n\r\n }).get();\r\n" +
|
||||||
" form.submit();\r\n\r\n dialog.dialog(\"dis" +
|
"\r\n form.submit();\r\n\r\n " +
|
||||||
"able\");\r\n dialog.dialog(\"option\", \"buttons\", null" +
|
" dialog.dialog(\"disable\");\r\n dialog.dialog(\"op" +
|
||||||
");\r\n }\r\n\r\n $(function(){\r\n" +
|
"tion\", \"buttons\", null);\r\n }\r\n\r\n " +
|
||||||
" $(\'#Config_AuthRoles_Subjects_Update\').click(sho" +
|
" $(function(){\r\n $(\'#Config_AuthRoles_Subje" +
|
||||||
"wDialog);\r\n });\r\n\r\n })();\r\n " +
|
"cts_Update\').click(showDialog);\r\n });\r\n\r\n " +
|
||||||
" </script>\r\n </div>\r\n </td>\r\n <" +
|
" })();\r\n </script>\r\n </div>\r\n " +
|
||||||
"/tr>\r\n <tr>\r\n <td");
|
" </td>\r\n </tr>\r\n <tr>\r\n <td");
|
||||||
|
|
||||||
WriteLiteral(" colspan=\"2\"");
|
WriteLiteral(" colspan=\"2\"");
|
||||||
|
|
||||||
|
|||||||
@@ -54,6 +54,56 @@ div.form > table {
|
|||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
margin-bottom: 4px;
|
margin-bottom: 4px;
|
||||||
}
|
}
|
||||||
|
/* Administrators */
|
||||||
|
#initialConfig_Administrators table {
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects li,
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li {
|
||||||
|
padding: 4px 0 4px 4px;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects li i.fa-user,
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li i.fa-user,
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects li i.fa-users,
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li i.fa-users {
|
||||||
|
min-width: 22px;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_ListContainer {
|
||||||
|
height: 280px;
|
||||||
|
overflow-y: auto;
|
||||||
|
background-color: #ffffff;
|
||||||
|
border: 1px solid #d8d8d8;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_None {
|
||||||
|
padding-top: 15px;
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_AddContainer {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li {
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li:hover {
|
||||||
|
background-color: #f4f4f4;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li:hover .remove {
|
||||||
|
opacity: .8;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li .remove {
|
||||||
|
margin-top: 2px;
|
||||||
|
padding-right: 6px;
|
||||||
|
float: right;
|
||||||
|
cursor: pointer;
|
||||||
|
opacity: 0;
|
||||||
|
color: #e51400;
|
||||||
|
font-size: 1.3em;
|
||||||
|
}
|
||||||
|
#initialConfig_Administrators #Config_AuthRoles_Subjects_Update_Dialog_List li .remove:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
/* Complete */
|
/* Complete */
|
||||||
#initialConfig_Complete span.icon {
|
#initialConfig_Complete span.icon {
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
|
|||||||
@@ -7,17 +7,14 @@ header, #header {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#dialogWait
|
#dialogWait {
|
||||||
{
|
|
||||||
padding-top: 30px;
|
padding-top: 30px;
|
||||||
|
|
||||||
.ajaxLoading
|
.ajaxLoading {
|
||||||
{
|
|
||||||
margin-right: 15px;
|
margin-right: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div
|
div {
|
||||||
{
|
|
||||||
padding-left: 31px;
|
padding-left: 31px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -33,27 +30,22 @@ header, #header {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
div.actionBar
|
div.actionBar {
|
||||||
{
|
|
||||||
margin-top: 70px !important;
|
margin-top: 70px !important;
|
||||||
background-color: rgba(240, 240, 240, 0.2);
|
background-color: rgba(240, 240, 240, 0.2);
|
||||||
}
|
}
|
||||||
|
|
||||||
div.form > table
|
div.form > table {
|
||||||
{
|
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Welcome */
|
/* Welcome */
|
||||||
#initialConfig_Welcome
|
#initialConfig_Welcome {
|
||||||
{
|
|
||||||
div.form {
|
div.form {
|
||||||
margin-top: 40px;
|
margin-top: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#OrganisationName
|
#OrganisationName {
|
||||||
{
|
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@@ -63,26 +55,21 @@ div.form > table
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* FileStore */
|
/* FileStore */
|
||||||
#initialConfig_FileStore
|
#initialConfig_FileStore {
|
||||||
{
|
#treeFilesystem .dynatree-container {
|
||||||
#treeFilesystem .dynatree-container
|
|
||||||
{
|
|
||||||
height: 280px;
|
height: 280px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
#treeFilesystemActions
|
#treeFilesystemActions {
|
||||||
{
|
|
||||||
margin: 10px 0 2px 0;
|
margin: 10px 0 2px 0;
|
||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#dialogCreateDirectory
|
#dialogCreateDirectory {
|
||||||
{
|
#createDirectoryName {
|
||||||
#createDirectoryName
|
|
||||||
{
|
|
||||||
font-size: 1.2em;
|
font-size: 1.2em;
|
||||||
padding: 6px;
|
padding: 6px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
@@ -90,21 +77,81 @@ div.form > table
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Administrators */
|
||||||
|
#initialConfig_Administrators {
|
||||||
|
|
||||||
|
table {
|
||||||
|
margin-top: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Config_AuthRoles_Subjects, #Config_AuthRoles_Subjects_Update_Dialog_List {
|
||||||
|
li {
|
||||||
|
padding: 4px 0 4px 4px;
|
||||||
|
|
||||||
|
i.fa-user, i.fa-users {
|
||||||
|
min-width: 22px;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#Config_AuthRoles_Subjects_Update_Dialog_ListContainer {
|
||||||
|
height: 280px;
|
||||||
|
overflow-y: auto;
|
||||||
|
background-color: @white;
|
||||||
|
border: 1px solid @TableDataDarkBorderColour;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Config_AuthRoles_Subjects_Update_Dialog_None {
|
||||||
|
padding-top: 15px;
|
||||||
|
display: block;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Config_AuthRoles_Subjects_Update_Dialog_AddContainer {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#Config_AuthRoles_Subjects_Update_Dialog_List {
|
||||||
|
li {
|
||||||
|
cursor: pointer;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
background-color: @TableDataBorderColour;
|
||||||
|
|
||||||
|
.remove {
|
||||||
|
opacity: .8;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.remove {
|
||||||
|
margin-top: 2px;
|
||||||
|
padding-right: 6px;
|
||||||
|
float: right;
|
||||||
|
cursor: pointer;
|
||||||
|
opacity: 0;
|
||||||
|
color: @StatusRemove;
|
||||||
|
font-size: 1.3em;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Complete */
|
/* Complete */
|
||||||
#initialConfig_Complete
|
#initialConfig_Complete {
|
||||||
{
|
span.icon {
|
||||||
span.icon
|
|
||||||
{
|
|
||||||
margin-right: 4px;
|
margin-right: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.testResult
|
.testResult {
|
||||||
{
|
|
||||||
padding-left: 24px;
|
padding-left: 24px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.exception
|
.exception {
|
||||||
{
|
|
||||||
border: 1px dashed #FF9696;
|
border: 1px dashed #FF9696;
|
||||||
background-color: #FFD8D8;
|
background-color: #FFD8D8;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
|||||||
+1
-1
File diff suppressed because one or more lines are too long
@@ -10,6 +10,10 @@ using System.Text.RegularExpressions;
|
|||||||
using System.IO.Compression;
|
using System.IO.Compression;
|
||||||
using System.Management;
|
using System.Management;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
|
using Disco.Services.Users;
|
||||||
|
using Disco.Services.Interop.ActiveDirectory;
|
||||||
|
using Disco.Models.Interop.ActiveDirectory;
|
||||||
|
using Disco.Services.Authorization;
|
||||||
|
|
||||||
namespace Disco.Web.Controllers
|
namespace Disco.Web.Controllers
|
||||||
{
|
{
|
||||||
@@ -228,9 +232,12 @@ namespace Disco.Web.Controllers
|
|||||||
ModelState.AddModelError(string.Empty, string.Format("Unable to extract File Store template: [{0}] {1}", ex.GetType().Name, ex.Message));
|
ModelState.AddModelError(string.Empty, string.Format("Unable to extract File Store template: [{0}] {1}", ex.GetType().Name, ex.Message));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Initialize Core Environment
|
||||||
|
AppConfig.InitalizeCoreEnvironment(database);
|
||||||
}
|
}
|
||||||
|
|
||||||
return RedirectToAction(MVC.InitialConfig.Complete());
|
return RedirectToAction(MVC.InitialConfig.Administrators());
|
||||||
}
|
}
|
||||||
|
|
||||||
m.ExpandDirectoryModel();
|
m.ExpandDirectoryModel();
|
||||||
@@ -245,6 +252,81 @@ namespace Disco.Web.Controllers
|
|||||||
|
|
||||||
#region Administrators
|
#region Administrators
|
||||||
|
|
||||||
|
public virtual ActionResult Administrators()
|
||||||
|
{
|
||||||
|
var administratorSubjects = UserService.AdministratorSubjectIds
|
||||||
|
.Select(subjectId => ActiveDirectory.RetrieveObject(subjectId))
|
||||||
|
.Where(item => item != null)
|
||||||
|
.Select(item => Disco.Web.Areas.Config.Models.AuthorizationRole.SubjectDescriptorModel.FromActiveDirectoryObject(item))
|
||||||
|
.OrderBy(item => item.Name).ToList();
|
||||||
|
|
||||||
|
var m = new AdministratorsModel()
|
||||||
|
{
|
||||||
|
AdministratorSubjects = administratorSubjects
|
||||||
|
};
|
||||||
|
|
||||||
|
return View(m);
|
||||||
|
}
|
||||||
|
public virtual ActionResult AdministratorsSearch(string term)
|
||||||
|
{
|
||||||
|
var groupResults = ActiveDirectory.SearchGroups(term).Cast<IActiveDirectoryObject>();
|
||||||
|
var userResults = ActiveDirectory.SearchUserAccounts(term).Cast<IActiveDirectoryObject>();
|
||||||
|
|
||||||
|
var results = groupResults.Concat(userResults).OrderBy(r => r.SamAccountName)
|
||||||
|
.Select(r => Disco.Web.Areas.API.Models.AuthorizationRole.SubjectItem.FromActiveDirectoryObject(r)).ToList();
|
||||||
|
|
||||||
|
return Json(results, JsonRequestBehavior.AllowGet);
|
||||||
|
}
|
||||||
|
public virtual ActionResult AdministratorsSubject(string Id)
|
||||||
|
{
|
||||||
|
if (string.IsNullOrWhiteSpace(Id))
|
||||||
|
return Json(null, JsonRequestBehavior.AllowGet);
|
||||||
|
else if (!Id.Contains(@"\"))
|
||||||
|
Id = string.Format(@"{0}\{1}", ActiveDirectory.PrimaryDomain.NetBiosName, Id);
|
||||||
|
|
||||||
|
var subject = ActiveDirectory.RetrieveObject(Id);
|
||||||
|
|
||||||
|
if (subject == null || !(subject is ActiveDirectoryUserAccount || subject is ActiveDirectoryGroup))
|
||||||
|
return Json(null, JsonRequestBehavior.AllowGet);
|
||||||
|
else
|
||||||
|
return Json(Disco.Web.Areas.API.Models.AuthorizationRole.SubjectItem.FromActiveDirectoryObject(subject), JsonRequestBehavior.AllowGet);
|
||||||
|
}
|
||||||
|
[HttpPost]
|
||||||
|
public virtual ActionResult Administrators(string[] Subjects)
|
||||||
|
{
|
||||||
|
string[] proposedSubjects;
|
||||||
|
string[] removedSubjects = null;
|
||||||
|
string[] addedSubjects = null;
|
||||||
|
|
||||||
|
// Validate Subjects
|
||||||
|
if (Subjects != null || Subjects.Length > 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
var subjects = Subjects.Where(s => !string.IsNullOrWhiteSpace(s)).Select(s => s.Trim()).Select(s => new Tuple<string, IActiveDirectoryObject>(s, ActiveDirectory.RetrieveObject(s))).ToList();
|
||||||
|
var invalidSubjects = subjects.Where(s => s.Item2 == null).ToList();
|
||||||
|
|
||||||
|
if (invalidSubjects.Count > 0)
|
||||||
|
throw new ArgumentException(string.Format("Subjects not found: {0}", string.Join(", ", invalidSubjects)), "Subjects");
|
||||||
|
|
||||||
|
proposedSubjects = subjects.Select(s => s.Item2.NetBiosId).OrderBy(s => s).ToArray();
|
||||||
|
var currentSubjects = UserService.AdministratorSubjectIds;
|
||||||
|
removedSubjects = currentSubjects.Except(proposedSubjects).ToArray();
|
||||||
|
addedSubjects = proposedSubjects.Except(currentSubjects).ToArray();
|
||||||
|
|
||||||
|
using (DiscoDataContext database = new DiscoDataContext())
|
||||||
|
{
|
||||||
|
UserService.UpdateAdministratorSubjectIds(database, proposedSubjects);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (removedSubjects != null && removedSubjects.Length > 0)
|
||||||
|
AuthorizationLog.LogAdministratorSubjectsRemoved("<Initial Configuration>", removedSubjects);
|
||||||
|
if (addedSubjects != null && addedSubjects.Length > 0)
|
||||||
|
AuthorizationLog.LogAdministratorSubjectsAdded("<Initial Configuration>", addedSubjects);
|
||||||
|
}
|
||||||
|
|
||||||
|
return RedirectToAction(MVC.InitialConfig.Complete());
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region Complete
|
#region Complete
|
||||||
|
|||||||
@@ -546,6 +546,12 @@
|
|||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
</Compile>
|
</Compile>
|
||||||
<Compile Include="Extensions\T4MVCExtensions.cs" />
|
<Compile Include="Extensions\T4MVCExtensions.cs" />
|
||||||
|
<Compile Include="Models\InitialConfig\AdministratorsModel.cs" />
|
||||||
|
<Compile Include="Views\InitialConfig\Administrators.generated.cs">
|
||||||
|
<DependentUpon>Administrators.cshtml</DependentUpon>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
</Compile>
|
||||||
<Compile Include="Views\Job\JobParts\Queues.generated.cs">
|
<Compile Include="Views\Job\JobParts\Queues.generated.cs">
|
||||||
<AutoGen>True</AutoGen>
|
<AutoGen>True</AutoGen>
|
||||||
<DesignTime>True</DesignTime>
|
<DesignTime>True</DesignTime>
|
||||||
@@ -1563,6 +1569,10 @@
|
|||||||
<Generator>RazorGenerator</Generator>
|
<Generator>RazorGenerator</Generator>
|
||||||
<LastGenOutput>_ViewStart.generated.cs</LastGenOutput>
|
<LastGenOutput>_ViewStart.generated.cs</LastGenOutput>
|
||||||
</None>
|
</None>
|
||||||
|
<Content Include="Views\InitialConfig\Administrators.cshtml">
|
||||||
|
<Generator>RazorGenerator</Generator>
|
||||||
|
<LastGenOutput>Administrators.generated.cs</LastGenOutput>
|
||||||
|
</Content>
|
||||||
<None Include="Views\InitialConfig\_ViewStart.cshtml">
|
<None Include="Views\InitialConfig\_ViewStart.cshtml">
|
||||||
<Generator>RazorGenerator</Generator>
|
<Generator>RazorGenerator</Generator>
|
||||||
<LastGenOutput>_ViewStart.generated.cs</LastGenOutput>
|
<LastGenOutput>_ViewStart.generated.cs</LastGenOutput>
|
||||||
|
|||||||
@@ -0,0 +1,10 @@
|
|||||||
|
using Disco.Web.Areas.Config.Models.AuthorizationRole;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Disco.Web.Models.InitialConfig
|
||||||
|
{
|
||||||
|
public class AdministratorsModel
|
||||||
|
{
|
||||||
|
public List<SubjectDescriptorModel> AdministratorSubjects { get; set; }
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1099,6 +1099,18 @@ namespace Disco.Web.Controllers
|
|||||||
{
|
{
|
||||||
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.FileStoreBranch);
|
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.FileStoreBranch);
|
||||||
}
|
}
|
||||||
|
[NonAction]
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public virtual System.Web.Mvc.ActionResult AdministratorsSearch()
|
||||||
|
{
|
||||||
|
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.AdministratorsSearch);
|
||||||
|
}
|
||||||
|
[NonAction]
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public virtual System.Web.Mvc.ActionResult AdministratorsSubject()
|
||||||
|
{
|
||||||
|
return new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.AdministratorsSubject);
|
||||||
|
}
|
||||||
|
|
||||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
public InitialConfigController Actions { get { return MVC.InitialConfig; } }
|
public InitialConfigController Actions { get { return MVC.InitialConfig; } }
|
||||||
@@ -1120,6 +1132,9 @@ namespace Disco.Web.Controllers
|
|||||||
public readonly string Database = "Database";
|
public readonly string Database = "Database";
|
||||||
public readonly string FileStore = "FileStore";
|
public readonly string FileStore = "FileStore";
|
||||||
public readonly string FileStoreBranch = "FileStoreBranch";
|
public readonly string FileStoreBranch = "FileStoreBranch";
|
||||||
|
public readonly string Administrators = "Administrators";
|
||||||
|
public readonly string AdministratorsSearch = "AdministratorsSearch";
|
||||||
|
public readonly string AdministratorsSubject = "AdministratorsSubject";
|
||||||
public readonly string Complete = "Complete";
|
public readonly string Complete = "Complete";
|
||||||
public readonly string RestartWebApp = "RestartWebApp";
|
public readonly string RestartWebApp = "RestartWebApp";
|
||||||
}
|
}
|
||||||
@@ -1132,6 +1147,9 @@ namespace Disco.Web.Controllers
|
|||||||
public const string Database = "Database";
|
public const string Database = "Database";
|
||||||
public const string FileStore = "FileStore";
|
public const string FileStore = "FileStore";
|
||||||
public const string FileStoreBranch = "FileStoreBranch";
|
public const string FileStoreBranch = "FileStoreBranch";
|
||||||
|
public const string Administrators = "Administrators";
|
||||||
|
public const string AdministratorsSearch = "AdministratorsSearch";
|
||||||
|
public const string AdministratorsSubject = "AdministratorsSubject";
|
||||||
public const string Complete = "Complete";
|
public const string Complete = "Complete";
|
||||||
public const string RestartWebApp = "RestartWebApp";
|
public const string RestartWebApp = "RestartWebApp";
|
||||||
}
|
}
|
||||||
@@ -1169,6 +1187,30 @@ namespace Disco.Web.Controllers
|
|||||||
{
|
{
|
||||||
public readonly string Path = "Path";
|
public readonly string Path = "Path";
|
||||||
}
|
}
|
||||||
|
static readonly ActionParamsClass_AdministratorsSearch s_params_AdministratorsSearch = new ActionParamsClass_AdministratorsSearch();
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public ActionParamsClass_AdministratorsSearch AdministratorsSearchParams { get { return s_params_AdministratorsSearch; } }
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public class ActionParamsClass_AdministratorsSearch
|
||||||
|
{
|
||||||
|
public readonly string term = "term";
|
||||||
|
}
|
||||||
|
static readonly ActionParamsClass_AdministratorsSubject s_params_AdministratorsSubject = new ActionParamsClass_AdministratorsSubject();
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public ActionParamsClass_AdministratorsSubject AdministratorsSubjectParams { get { return s_params_AdministratorsSubject; } }
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public class ActionParamsClass_AdministratorsSubject
|
||||||
|
{
|
||||||
|
public readonly string Id = "Id";
|
||||||
|
}
|
||||||
|
static readonly ActionParamsClass_Administrators s_params_Administrators = new ActionParamsClass_Administrators();
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public ActionParamsClass_Administrators AdministratorsParams { get { return s_params_Administrators; } }
|
||||||
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
|
public class ActionParamsClass_Administrators
|
||||||
|
{
|
||||||
|
public readonly string Subjects = "Subjects";
|
||||||
|
}
|
||||||
static readonly ViewsClass s_views = new ViewsClass();
|
static readonly ViewsClass s_views = new ViewsClass();
|
||||||
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
[GeneratedCode("T4MVC", "2.0"), DebuggerNonUserCode]
|
||||||
public ViewsClass Views { get { return s_views; } }
|
public ViewsClass Views { get { return s_views; } }
|
||||||
@@ -1180,6 +1222,7 @@ namespace Disco.Web.Controllers
|
|||||||
public class _ViewNamesClass
|
public class _ViewNamesClass
|
||||||
{
|
{
|
||||||
public readonly string _ViewStart = "_ViewStart";
|
public readonly string _ViewStart = "_ViewStart";
|
||||||
|
public readonly string Administrators = "Administrators";
|
||||||
public readonly string Complete = "Complete";
|
public readonly string Complete = "Complete";
|
||||||
public readonly string Database = "Database";
|
public readonly string Database = "Database";
|
||||||
public readonly string FileStore = "FileStore";
|
public readonly string FileStore = "FileStore";
|
||||||
@@ -1187,6 +1230,7 @@ namespace Disco.Web.Controllers
|
|||||||
public readonly string Welcome = "Welcome";
|
public readonly string Welcome = "Welcome";
|
||||||
}
|
}
|
||||||
public readonly string _ViewStart = "~/Views/InitialConfig/_ViewStart.cshtml";
|
public readonly string _ViewStart = "~/Views/InitialConfig/_ViewStart.cshtml";
|
||||||
|
public readonly string Administrators = "~/Views/InitialConfig/Administrators.cshtml";
|
||||||
public readonly string Complete = "~/Views/InitialConfig/Complete.cshtml";
|
public readonly string Complete = "~/Views/InitialConfig/Complete.cshtml";
|
||||||
public readonly string Database = "~/Views/InitialConfig/Database.cshtml";
|
public readonly string Database = "~/Views/InitialConfig/Database.cshtml";
|
||||||
public readonly string FileStore = "~/Views/InitialConfig/FileStore.cshtml";
|
public readonly string FileStore = "~/Views/InitialConfig/FileStore.cshtml";
|
||||||
@@ -1276,6 +1320,45 @@ namespace Disco.Web.Controllers
|
|||||||
return callInfo;
|
return callInfo;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
partial void AdministratorsOverride(T4MVC_System_Web_Mvc_ActionResult callInfo);
|
||||||
|
|
||||||
|
public override System.Web.Mvc.ActionResult Administrators()
|
||||||
|
{
|
||||||
|
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Administrators);
|
||||||
|
AdministratorsOverride(callInfo);
|
||||||
|
return callInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
partial void AdministratorsSearchOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string term);
|
||||||
|
|
||||||
|
public override System.Web.Mvc.ActionResult AdministratorsSearch(string term)
|
||||||
|
{
|
||||||
|
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.AdministratorsSearch);
|
||||||
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "term", term);
|
||||||
|
AdministratorsSearchOverride(callInfo, term);
|
||||||
|
return callInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
partial void AdministratorsSubjectOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string Id);
|
||||||
|
|
||||||
|
public override System.Web.Mvc.ActionResult AdministratorsSubject(string Id)
|
||||||
|
{
|
||||||
|
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.AdministratorsSubject);
|
||||||
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Id", Id);
|
||||||
|
AdministratorsSubjectOverride(callInfo, Id);
|
||||||
|
return callInfo;
|
||||||
|
}
|
||||||
|
|
||||||
|
partial void AdministratorsOverride(T4MVC_System_Web_Mvc_ActionResult callInfo, string[] Subjects);
|
||||||
|
|
||||||
|
public override System.Web.Mvc.ActionResult Administrators(string[] Subjects)
|
||||||
|
{
|
||||||
|
var callInfo = new T4MVC_System_Web_Mvc_ActionResult(Area, Name, ActionNames.Administrators);
|
||||||
|
ModelUnbinderHelpers.AddRouteValues(callInfo.RouteValueDictionary, "Subjects", Subjects);
|
||||||
|
AdministratorsOverride(callInfo, Subjects);
|
||||||
|
return callInfo;
|
||||||
|
}
|
||||||
|
|
||||||
partial void CompleteOverride(T4MVC_System_Web_Mvc_ActionResult callInfo);
|
partial void CompleteOverride(T4MVC_System_Web_Mvc_ActionResult callInfo);
|
||||||
|
|
||||||
public override System.Web.Mvc.ActionResult Complete()
|
public override System.Web.Mvc.ActionResult Complete()
|
||||||
|
|||||||
@@ -0,0 +1,176 @@
|
|||||||
|
@model Disco.Web.Models.InitialConfig.AdministratorsModel
|
||||||
|
@{
|
||||||
|
ViewBag.Title = null;
|
||||||
|
}
|
||||||
|
<h1>@CommonHelpers.Breadcrumbs(Html.ToBreadcrumb("Initial Configuration", MVC.InitialConfig.Index(), "Disco Administrators"))</h1>
|
||||||
|
<div id="initialConfig_Administrators">
|
||||||
|
<div class="form" style="width: 450px">
|
||||||
|
<div>
|
||||||
|
Disco Administrators have access to the entire Disco application.
|
||||||
|
<code>Domain Admins</code> is a required member and is always included regardless of configuration.
|
||||||
|
</div>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div id="Config_AuthRoles_Subjects_Update_Dialog_ListContainer">
|
||||||
|
<span id="Config_AuthRoles_Subjects_Update_Dialog_None" class="smallMessage">None Associated</span>
|
||||||
|
<ul id="Config_AuthRoles_Subjects_Update_Dialog_List" class="none">
|
||||||
|
@foreach (var sg in Model.AdministratorSubjects)
|
||||||
|
{
|
||||||
|
var displayName = sg.Id == sg.Name ? sg.Id : string.Format("{0} [{1}]", sg.Name, sg.Id);
|
||||||
|
<li class="@(sg.IsGroup ? "group" : "user")" data-subjectid="@sg.Id">@if (sg.IsGroup)
|
||||||
|
{
|
||||||
|
<i class="fa fa-users fa-lg"></i>@displayName
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<i class="fa fa-user fa-lg"></i>@displayName
|
||||||
|
}<i class="fa fa-times-circle remove"></i></li>
|
||||||
|
}
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="Config_AuthRoles_Subjects_Update_Dialog_AddContainer">
|
||||||
|
<input type="text" id="Config_AuthRoles_Subjects_Update_Dialog_TextAdd" />
|
||||||
|
<a id="Config_AuthRoles_Subjects_Update_Dialog_Add" href="#" class="button small">Add</a>
|
||||||
|
</div>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="dialogWait" title="Please Wait" class="dialog">
|
||||||
|
<h2><span class="ajaxLoading"></span>Validating Configuration</h2>
|
||||||
|
<div>Please wait while the Disco configuration is validated</div>
|
||||||
|
</div>
|
||||||
|
@using (Html.BeginForm())
|
||||||
|
{
|
||||||
|
<div class="actionBar">
|
||||||
|
<input id="submitForm" type="submit" class="button" value="Continue" />
|
||||||
|
</div>
|
||||||
|
}
|
||||||
|
<script>
|
||||||
|
(function () {
|
||||||
|
var container, textAdd, list, noSubjects;
|
||||||
|
|
||||||
|
function remove() {
|
||||||
|
$this = $(this).closest('li');
|
||||||
|
|
||||||
|
if ($this.is('[data-subjectstatus="new"]')) {
|
||||||
|
$this.remove();
|
||||||
|
} else {
|
||||||
|
$this.attr('data-subjectstatus', 'removed').hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
updateNoSubjects();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function add() {
|
||||||
|
var id = textAdd.val();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: '@Url.Action(MVC.InitialConfig.AdministratorsSubject())',
|
||||||
|
method: 'post',
|
||||||
|
data: { Id: id }
|
||||||
|
}).done(function (response) {
|
||||||
|
if (response) {
|
||||||
|
if (list.find('li[data-subjectid="' + response.Id.replace('\\', '\\\\') + '"]').length == 0) {
|
||||||
|
|
||||||
|
var liIcon = $('<i>').addClass('fa fa-lg');
|
||||||
|
if (response.Type === 'user')
|
||||||
|
liIcon.addClass('fa-user');
|
||||||
|
else
|
||||||
|
liIcon.addClass('fa-users');
|
||||||
|
|
||||||
|
var li = $('<li>')
|
||||||
|
.append(liIcon)
|
||||||
|
.append($('<span>').text(response.Id == response.Name ? response.Id : response.Name + ' [' + response.Id + ']'))
|
||||||
|
.append($('<i>').addClass('fa fa-times-circle remove'))
|
||||||
|
.addClass(response.Type)
|
||||||
|
.attr('data-subjectid', response.Id)
|
||||||
|
.attr('data-subjectstatus', 'new');
|
||||||
|
|
||||||
|
list.append(li);
|
||||||
|
|
||||||
|
updateNoSubjects();
|
||||||
|
} else {
|
||||||
|
alert('That subject has already been added');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
alert('Unknown Id');
|
||||||
|
}
|
||||||
|
}).fail(function (jqXHR, textStatus, errorThrown) {
|
||||||
|
alert('Unable to retrieve that subject, please check the account/group and try again');
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function updateNoSubjects() {
|
||||||
|
if (list.find('li:visible').length > 0)
|
||||||
|
noSubjects.hide();
|
||||||
|
else
|
||||||
|
noSubjects.show();
|
||||||
|
}
|
||||||
|
|
||||||
|
// Initialize Page
|
||||||
|
|
||||||
|
container = $('#initialConfig_Administrators');
|
||||||
|
|
||||||
|
container.on('click', '.remove', remove);
|
||||||
|
|
||||||
|
list = $('#Config_AuthRoles_Subjects_Update_Dialog_List');
|
||||||
|
noSubjects = $('#Config_AuthRoles_Subjects_Update_Dialog_None');
|
||||||
|
|
||||||
|
textAdd = $('#Config_AuthRoles_Subjects_Update_Dialog_TextAdd');
|
||||||
|
|
||||||
|
textAdd.watermark('Search Subjects')
|
||||||
|
.autocomplete({
|
||||||
|
source: '@(Url.Action(MVC.InitialConfig.AdministratorsSearch()))',
|
||||||
|
minLength: 2,
|
||||||
|
focus: function (e, ui) {
|
||||||
|
textAdd.val(ui.item.Id);
|
||||||
|
return false;
|
||||||
|
},
|
||||||
|
select: function (e, ui) {
|
||||||
|
textAdd.val(ui.item.Id).blur();
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}).data('ui-autocomplete')._renderItem = function (ul, item) {
|
||||||
|
return $("<li></li>")
|
||||||
|
.data("item.autocomplete", item)
|
||||||
|
.append("<a><strong>" + item.Name + "</strong><br>" + item.Id + " (" + item.Type + ")</a>")
|
||||||
|
.appendTo(ul);
|
||||||
|
};
|
||||||
|
|
||||||
|
$('#Config_AuthRoles_Subjects_Update_Dialog_Add').click(add);
|
||||||
|
updateNoSubjects();
|
||||||
|
|
||||||
|
$('#submitForm').closest('form').submit(function () {
|
||||||
|
|
||||||
|
var form = $(this);
|
||||||
|
|
||||||
|
list.find('li[data-subjectstatus!="removed"]').each(function () {
|
||||||
|
var subjectId = $(this).attr('data-subjectid');
|
||||||
|
|
||||||
|
form.append($('<input>').attr({
|
||||||
|
'name': 'Subjects',
|
||||||
|
'type': 'hidden'
|
||||||
|
}).val(subjectId));
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
$('#dialogWait').dialog({
|
||||||
|
autoOpen: true,
|
||||||
|
draggable: false,
|
||||||
|
modal: true,
|
||||||
|
resizable: false,
|
||||||
|
width: 400,
|
||||||
|
height: 150,
|
||||||
|
closeOnEscape: false
|
||||||
|
}).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
|
||||||
|
});
|
||||||
|
|
||||||
|
})();
|
||||||
|
</script>
|
||||||
@@ -0,0 +1,373 @@
|
|||||||
|
#pragma warning disable 1591
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.34014
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace Disco.Web.Views.InitialConfig
|
||||||
|
{
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Net;
|
||||||
|
using System.Text;
|
||||||
|
using System.Web;
|
||||||
|
using System.Web.Helpers;
|
||||||
|
using System.Web.Mvc;
|
||||||
|
using System.Web.Mvc.Ajax;
|
||||||
|
using System.Web.Mvc.Html;
|
||||||
|
using System.Web.Routing;
|
||||||
|
using System.Web.Security;
|
||||||
|
using System.Web.UI;
|
||||||
|
using System.Web.WebPages;
|
||||||
|
using Disco;
|
||||||
|
using Disco.BI.Extensions;
|
||||||
|
using Disco.Models.Repository;
|
||||||
|
using Disco.Services;
|
||||||
|
using Disco.Services.Authorization;
|
||||||
|
using Disco.Services.Web;
|
||||||
|
using Disco.Web;
|
||||||
|
using Disco.Web.Extensions;
|
||||||
|
|
||||||
|
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorGenerator", "2.0.0.0")]
|
||||||
|
[System.Web.WebPages.PageVirtualPathAttribute("~/Views/InitialConfig/Administrators.cshtml")]
|
||||||
|
public partial class Administrators : Disco.Services.Web.WebViewPage<Disco.Web.Models.InitialConfig.AdministratorsModel>
|
||||||
|
{
|
||||||
|
public Administrators()
|
||||||
|
{
|
||||||
|
}
|
||||||
|
public override void Execute()
|
||||||
|
{
|
||||||
|
|
||||||
|
#line 2 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
|
||||||
|
ViewBag.Title = null;
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("\r\n<h1>");
|
||||||
|
|
||||||
|
|
||||||
|
#line 5 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
Write(CommonHelpers.Breadcrumbs(Html.ToBreadcrumb("Initial Configuration", MVC.InitialConfig.Index(), "Disco Administrators")));
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("</h1>\r\n<div");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"initialConfig_Administrators\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n <div");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"form\"");
|
||||||
|
|
||||||
|
WriteLiteral(" style=\"width: 450px\"");
|
||||||
|
|
||||||
|
WriteLiteral(@">
|
||||||
|
<div>
|
||||||
|
Disco Administrators have access to the entire Disco application.
|
||||||
|
<code>Domain Admins</code> is a required member and is always included regardless of configuration.
|
||||||
|
</div>
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<div");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_ListContainer\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n <span");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_None\"");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"smallMessage\"");
|
||||||
|
|
||||||
|
WriteLiteral(">None Associated</span>\r\n <ul");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_List\"");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"none\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n");
|
||||||
|
|
||||||
|
|
||||||
|
#line 18 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
|
||||||
|
#line 18 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
foreach (var sg in Model.AdministratorSubjects)
|
||||||
|
{
|
||||||
|
var displayName = sg.Id == sg.Name ? sg.Id : string.Format("{0} [{1}]", sg.Name, sg.Id);
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral(" <li");
|
||||||
|
|
||||||
|
WriteAttribute("class", Tuple.Create(" class=\"", 1161), Tuple.Create("\"", 1201)
|
||||||
|
|
||||||
|
#line 21 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
, Tuple.Create(Tuple.Create("", 1169), Tuple.Create<System.Object, System.Int32>(sg.IsGroup ? "group" : "user"
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
, 1169), false)
|
||||||
|
);
|
||||||
|
|
||||||
|
WriteLiteral(" data-subjectid=\"");
|
||||||
|
|
||||||
|
|
||||||
|
#line 21 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
Write(sg.Id);
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("\"");
|
||||||
|
|
||||||
|
WriteLiteral(">");
|
||||||
|
|
||||||
|
|
||||||
|
#line 21 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
if (sg.IsGroup)
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral(" <i");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"fa fa-users fa-lg\"");
|
||||||
|
|
||||||
|
WriteLiteral("></i>");
|
||||||
|
|
||||||
|
|
||||||
|
#line 23 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
|
||||||
|
#line 23 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
Write(displayName);
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
|
||||||
|
#line 23 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral(" <i");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"fa fa-user fa-lg\"");
|
||||||
|
|
||||||
|
WriteLiteral("></i>");
|
||||||
|
|
||||||
|
|
||||||
|
#line 27 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
|
||||||
|
#line 27 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
Write(displayName);
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
|
||||||
|
#line 27 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("<i");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"fa fa-times-circle remove\"");
|
||||||
|
|
||||||
|
WriteLiteral("></i></li>\r\n");
|
||||||
|
|
||||||
|
|
||||||
|
#line 29 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral(" </ul>\r\n </div>\r\n <d" +
|
||||||
|
"iv");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_AddContainer\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n <input");
|
||||||
|
|
||||||
|
WriteLiteral(" type=\"text\"");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_TextAdd\"");
|
||||||
|
|
||||||
|
WriteLiteral(" />\r\n <a");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"Config_AuthRoles_Subjects_Update_Dialog_Add\"");
|
||||||
|
|
||||||
|
WriteLiteral(" href=\"#\"");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"button small\"");
|
||||||
|
|
||||||
|
WriteLiteral(">Add</a>\r\n </div>\r\n </td>\r\n </tr>\r\n " +
|
||||||
|
" </table>\r\n </div>\r\n</div>\r\n<div");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"dialogWait\"");
|
||||||
|
|
||||||
|
WriteLiteral(" title=\"Please Wait\"");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"dialog\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n <h2><span");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"ajaxLoading\"");
|
||||||
|
|
||||||
|
WriteLiteral("></span>Validating Configuration</h2>\r\n <div>Please wait while the Disco confi" +
|
||||||
|
"guration is validated</div>\r\n</div>\r\n");
|
||||||
|
|
||||||
|
|
||||||
|
#line 45 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
using (Html.BeginForm())
|
||||||
|
{
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral(" <div");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"actionBar\"");
|
||||||
|
|
||||||
|
WriteLiteral(">\r\n <input");
|
||||||
|
|
||||||
|
WriteLiteral(" id=\"submitForm\"");
|
||||||
|
|
||||||
|
WriteLiteral(" type=\"submit\"");
|
||||||
|
|
||||||
|
WriteLiteral(" class=\"button\"");
|
||||||
|
|
||||||
|
WriteLiteral(" value=\"Continue\"");
|
||||||
|
|
||||||
|
WriteLiteral(" />\r\n </div>\r\n");
|
||||||
|
|
||||||
|
|
||||||
|
#line 50 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral(@"<script>
|
||||||
|
(function () {
|
||||||
|
var container, textAdd, list, noSubjects;
|
||||||
|
|
||||||
|
function remove() {
|
||||||
|
$this = $(this).closest('li');
|
||||||
|
|
||||||
|
if ($this.is('[data-subjectstatus=""new""]')) {
|
||||||
|
$this.remove();
|
||||||
|
} else {
|
||||||
|
$this.attr('data-subjectstatus', 'removed').hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
updateNoSubjects();
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function add() {
|
||||||
|
var id = textAdd.val();
|
||||||
|
|
||||||
|
$.ajax({
|
||||||
|
url: '");
|
||||||
|
|
||||||
|
|
||||||
|
#line 73 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
Write(Url.Action(MVC.InitialConfig.AdministratorsSubject()));
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("\',\r\n method: \'post\',\r\n data: { Id: id }\r\n " +
|
||||||
|
" }).done(function (response) {\r\n if (response) {\r\n " +
|
||||||
|
" if (list.find(\'li[data-subjectid=\"\' + response.Id.replace(\'\\\\\', \'\\\\\\\\\') + " +
|
||||||
|
"\'\"]\').length == 0) {\r\n\r\n var liIcon = $(\'<i>\').addClass(\'" +
|
||||||
|
"fa fa-lg\');\r\n if (response.Type === \'user\')\r\n " +
|
||||||
|
" liIcon.addClass(\'fa-user\');\r\n else\r\n " +
|
||||||
|
" liIcon.addClass(\'fa-users\');\r\n\r\n v" +
|
||||||
|
"ar li = $(\'<li>\')\r\n .append(liIcon)\r\n " +
|
||||||
|
" .append($(\'<span>\').text(response.Id == response.Name ? response.Id " +
|
||||||
|
": response.Name + \' [\' + response.Id + \']\'))\r\n .appen" +
|
||||||
|
"d($(\'<i>\').addClass(\'fa fa-times-circle remove\'))\r\n ." +
|
||||||
|
"addClass(response.Type)\r\n .attr(\'data-subjectid\', res" +
|
||||||
|
"ponse.Id)\r\n .attr(\'data-subjectstatus\', \'new\');\r\n\r\n " +
|
||||||
|
" list.append(li);\r\n\r\n updateNoSubjec" +
|
||||||
|
"ts();\r\n } else {\r\n alert(\'That subject" +
|
||||||
|
" has already been added\');\r\n }\r\n } else {\r\n " +
|
||||||
|
" alert(\'Unknown Id\');\r\n }\r\n }).fail(fu" +
|
||||||
|
"nction (jqXHR, textStatus, errorThrown) {\r\n alert(\'Unable to retr" +
|
||||||
|
"ieve that subject, please check the account/group and try again\');\r\n " +
|
||||||
|
"});\r\n\r\n return false;\r\n }\r\n\r\n function updateNo" +
|
||||||
|
"Subjects() {\r\n if (list.find(\'li:visible\').length > 0)\r\n " +
|
||||||
|
" noSubjects.hide();\r\n else\r\n noSubjects.show();\r\n " +
|
||||||
|
" }\r\n\r\n // Initialize Page\r\n\r\n container = $(\'#initialConfig_Ad" +
|
||||||
|
"ministrators\');\r\n\r\n container.on(\'click\', \'.remove\', remove);\r\n\r\n " +
|
||||||
|
"list = $(\'#Config_AuthRoles_Subjects_Update_Dialog_List\');\r\n noSubjects =" +
|
||||||
|
" $(\'#Config_AuthRoles_Subjects_Update_Dialog_None\');\r\n\r\n textAdd = $(\'#Co" +
|
||||||
|
"nfig_AuthRoles_Subjects_Update_Dialog_TextAdd\');\r\n\r\n textAdd.watermark(\'S" +
|
||||||
|
"earch Subjects\')\r\n .autocomplete({\r\n source: \'");
|
||||||
|
|
||||||
|
|
||||||
|
#line 130 "..\..\Views\InitialConfig\Administrators.cshtml"
|
||||||
|
Write(Url.Action(MVC.InitialConfig.AdministratorsSearch()));
|
||||||
|
|
||||||
|
|
||||||
|
#line default
|
||||||
|
#line hidden
|
||||||
|
WriteLiteral("\',\r\n minLength: 2,\r\n focus: function (e, ui) {\r\n " +
|
||||||
|
" textAdd.val(ui.item.Id);\r\n return false;\r\n " +
|
||||||
|
" },\r\n select: function (e, ui) {\r\n " +
|
||||||
|
" textAdd.val(ui.item.Id).blur();\r\n return false;\r\n " +
|
||||||
|
" }\r\n }).data(\'ui-autocomplete\')._renderItem = function (ul, item" +
|
||||||
|
") {\r\n return $(\"<li></li>\")\r\n .data(\"item.auto" +
|
||||||
|
"complete\", item)\r\n .append(\"<a><strong>\" + item.Name + \"</str" +
|
||||||
|
"ong><br>\" + item.Id + \" (\" + item.Type + \")</a>\")\r\n .appendTo" +
|
||||||
|
"(ul);\r\n };\r\n\r\n $(\'#Config_AuthRoles_Subjects_Update_Dialog_Add" +
|
||||||
|
"\').click(add);\r\n updateNoSubjects();\r\n\r\n $(\'#submitForm\').closest(" +
|
||||||
|
"\'form\').submit(function () {\r\n\r\n var form = $(this);\r\n\r\n l" +
|
||||||
|
"ist.find(\'li[data-subjectstatus!=\"removed\"]\').each(function () {\r\n " +
|
||||||
|
" var subjectId = $(this).attr(\'data-subjectid\');\r\n\r\n form.append" +
|
||||||
|
"($(\'<input>\').attr({\r\n \'name\': \'Subjects\',\r\n " +
|
||||||
|
" \'type\': \'hidden\'\r\n }).val(subjectId));\r\n\r\n });\r\n\r\n " +
|
||||||
|
" $(\'#dialogWait\').dialog({\r\n autoOpen: true,\r\n " +
|
||||||
|
" draggable: false,\r\n modal: true,\r\n resizabl" +
|
||||||
|
"e: false,\r\n width: 400,\r\n height: 150,\r\n " +
|
||||||
|
" closeOnEscape: false\r\n }).closest(\'.ui-dialog\').find(\'.ui-dialo" +
|
||||||
|
"g-titlebar-close\').hide();\r\n });\r\n\r\n })();\r\n</script>\r\n");
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#pragma warning restore 1591
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:4.0.30319.34011
|
// Runtime Version:4.0.30319.34014
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
}).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
|
}).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
|
||||||
|
|
||||||
var refresh = function () {
|
var refresh = function () {
|
||||||
window.location.href = '/';
|
window.location.href = '/Config';
|
||||||
}
|
}
|
||||||
window.setTimeout(refresh, 2000);
|
window.setTimeout(refresh, 2000);
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:4.0.30319.34011
|
// Runtime Version:4.0.30319.34014
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
@@ -97,7 +97,7 @@ WriteLiteral(@">Please wait while the Disco environment is initialized</div>
|
|||||||
}).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
|
}).closest('.ui-dialog').find('.ui-dialog-titlebar-close').hide();
|
||||||
|
|
||||||
var refresh = function () {
|
var refresh = function () {
|
||||||
window.location.href = '/';
|
window.location.href = '/Config';
|
||||||
}
|
}
|
||||||
window.setTimeout(refresh, 2000);
|
window.setTimeout(refresh, 2000);
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
@{
|
@{
|
||||||
ViewContext.ViewBag.IsInitialConfig = true;
|
ViewContext.ViewData.Add("IsInitialConfig", true);
|
||||||
Layout = MVC.Shared.Views._PublicLayout;
|
Layout = MVC.Shared.Views._PublicLayout;
|
||||||
Html.BundleDeferred("~/Style/InitialConfig");
|
Html.BundleDeferred("~/Style/InitialConfig");
|
||||||
}
|
}
|
||||||
@@ -47,7 +47,7 @@ namespace Disco.Web.Views.InitialConfig
|
|||||||
|
|
||||||
#line 1 "..\..\Views\InitialConfig\_ViewStart.cshtml"
|
#line 1 "..\..\Views\InitialConfig\_ViewStart.cshtml"
|
||||||
|
|
||||||
ViewContext.ViewBag.IsInitialConfig = true;
|
ViewContext.ViewData.Add("IsInitialConfig", true);
|
||||||
Layout = MVC.Shared.Views._PublicLayout;
|
Layout = MVC.Shared.Views._PublicLayout;
|
||||||
Html.BundleDeferred("~/Style/InitialConfig");
|
Html.BundleDeferred("~/Style/InitialConfig");
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,8 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>Disco@{if(ViewBag.Title != null){<text> - @CommonHelpers.BreadcrumbsTitle(ViewBag.Title)</text>}}</title>
|
<title>Disco@{if (ViewBag.Title != null)
|
||||||
|
{<text> - @CommonHelpers.BreadcrumbsTitle(ViewBag.Title)</text>}}</title>
|
||||||
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=20131224c" />
|
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=20131224c" />
|
||||||
<meta name="application-name" content="Disco" />
|
<meta name="application-name" content="Disco" />
|
||||||
<meta name="msapplication-starturl" content="/" />
|
<meta name="msapplication-starturl" content="/" />
|
||||||
@@ -19,7 +20,8 @@
|
|||||||
<div id="heading">
|
<div id="heading">
|
||||||
<a href="@Url.Action(MVC.Job.Index())"><i title="Disco - ICT Management"></i></a>
|
<a href="@Url.Action(MVC.Job.Index())"><i title="Disco - ICT Management"></i></a>
|
||||||
</div>
|
</div>
|
||||||
@if (ViewBag.IsInitialConfig != null){<text>
|
@if (!ViewContext.ViewData.ContainsKey("IsInitialConfig"))
|
||||||
|
{<text>
|
||||||
<nav>
|
<nav>
|
||||||
<ul id="menu">
|
<ul id="menu">
|
||||||
<li class="active">@Html.ActionLink("Reports", MVC.Public.Public.Index())</li>
|
<li class="active">@Html.ActionLink("Reports", MVC.Public.Public.Index())</li>
|
||||||
@@ -28,12 +30,14 @@
|
|||||||
</nav>
|
</nav>
|
||||||
</text>}
|
</text>}
|
||||||
</header>
|
</header>
|
||||||
@if(ViewBag.Title != null){<div id="layout_PageHeading">@CommonHelpers.Breadcrumbs(ViewBag.Title)</div>}
|
@if (ViewBag.Title != null)
|
||||||
|
{<div id="layout_PageHeading">@CommonHelpers.Breadcrumbs(ViewBag.Title)</div>}
|
||||||
<section id="layout_Page">
|
<section id="layout_Page">
|
||||||
@RenderBody()
|
@RenderBody()
|
||||||
</section>
|
</section>
|
||||||
<footer>
|
<footer>
|
||||||
Disco v@(Disco.Web.DiscoApplication.Version) @if (ViewBag.IsInitialConfig != null){<text>@@ @(Disco.Web.DiscoApplication.OrganisationName) | @Html.ActionLink("Credits", MVC.Public.Public.Credits()) | @Html.ActionLink("Licence", MVC.Public.Public.Licence())</text>}
|
Disco v@(Disco.Web.DiscoApplication.Version) @if (ViewBag.IsInitialConfig != null)
|
||||||
|
{<text>@@ @(Disco.Web.DiscoApplication.OrganisationName) | @Html.ActionLink("Credits", MVC.Public.Public.Credits()) | @Html.ActionLink("Licence", MVC.Public.Public.Licence())</text>}
|
||||||
</footer>
|
</footer>
|
||||||
</div>
|
</div>
|
||||||
@{ Disco.Services.Plugins.Features.UIExtension.UIExtensions.ExecuteExtensionResult(this); }
|
@{ Disco.Services.Plugins.Features.UIExtension.UIExtensions.ExecuteExtensionResult(this); }
|
||||||
|
|||||||
@@ -57,21 +57,22 @@ WriteLiteral("\r\n<!DOCTYPE html>\r\n<html>\r\n<head>\r\n <title>Disco");
|
|||||||
|
|
||||||
|
|
||||||
#line 8 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 8 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
if(ViewBag.Title != null){
|
if (ViewBag.Title != null)
|
||||||
|
{
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral(" - ");
|
WriteLiteral(" - ");
|
||||||
|
|
||||||
|
|
||||||
#line 8 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 9 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(CommonHelpers.BreadcrumbsTitle(ViewBag.Title));
|
Write(CommonHelpers.BreadcrumbsTitle(ViewBag.Title));
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 8 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 9 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
}
|
}
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
@@ -107,7 +108,7 @@ WriteLiteral(" />\r\n");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 13 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 14 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(Html.BundleRenderDeferred());
|
Write(Html.BundleRenderDeferred());
|
||||||
|
|
||||||
|
|
||||||
@@ -118,7 +119,7 @@ WriteLiteral("\r\n");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 14 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 15 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(RenderSection("head", false));
|
Write(RenderSection("head", false));
|
||||||
|
|
||||||
|
|
||||||
@@ -138,14 +139,14 @@ WriteLiteral(" id=\"heading\"");
|
|||||||
|
|
||||||
WriteLiteral(">\r\n <a");
|
WriteLiteral(">\r\n <a");
|
||||||
|
|
||||||
WriteAttribute("href", Tuple.Create(" href=\"", 703), Tuple.Create("\"", 738)
|
WriteAttribute("href", Tuple.Create(" href=\"", 724), Tuple.Create("\"", 759)
|
||||||
|
|
||||||
#line 20 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 21 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
, Tuple.Create(Tuple.Create("", 710), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Job.Index())
|
, Tuple.Create(Tuple.Create("", 731), Tuple.Create<System.Object, System.Int32>(Url.Action(MVC.Job.Index())
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
, 710), false)
|
, 731), false)
|
||||||
);
|
);
|
||||||
|
|
||||||
WriteLiteral("><i");
|
WriteLiteral("><i");
|
||||||
@@ -155,14 +156,15 @@ WriteLiteral(" title=\"Disco - ICT Management\"");
|
|||||||
WriteLiteral("></i></a>\r\n </div>\r\n");
|
WriteLiteral("></i></a>\r\n </div>\r\n");
|
||||||
|
|
||||||
|
|
||||||
#line 22 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 23 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 22 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 23 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
if (ViewBag.IsInitialConfig != null){
|
if (!ViewContext.ViewData.ContainsKey("IsInitialConfig"))
|
||||||
|
{
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
@@ -177,7 +179,7 @@ WriteLiteral(" class=\"active\"");
|
|||||||
WriteLiteral(">");
|
WriteLiteral(">");
|
||||||
|
|
||||||
|
|
||||||
#line 25 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 27 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(Html.ActionLink("Reports", MVC.Public.Public.Index()));
|
Write(Html.ActionLink("Reports", MVC.Public.Public.Index()));
|
||||||
|
|
||||||
|
|
||||||
@@ -186,7 +188,7 @@ WriteLiteral(">");
|
|||||||
WriteLiteral("</li>\r\n <li>");
|
WriteLiteral("</li>\r\n <li>");
|
||||||
|
|
||||||
|
|
||||||
#line 26 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 28 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(Html.ActionLink("Administration", MVC.Job.Index(), accesskey: "1"));
|
Write(Html.ActionLink("Administration", MVC.Job.Index(), accesskey: "1"));
|
||||||
|
|
||||||
|
|
||||||
@@ -195,7 +197,7 @@ WriteLiteral("</li>\r\n <li>");
|
|||||||
WriteLiteral("</li>\r\n </ul>\r\n </nav>\r\n ");
|
WriteLiteral("</li>\r\n </ul>\r\n </nav>\r\n ");
|
||||||
|
|
||||||
|
|
||||||
#line 29 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 31 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -204,14 +206,15 @@ WriteLiteral("</li>\r\n </ul>\r\n </nav>\r\n
|
|||||||
WriteLiteral(" </header>\r\n");
|
WriteLiteral(" </header>\r\n");
|
||||||
|
|
||||||
|
|
||||||
#line 31 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 33 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 31 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 33 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
if(ViewBag.Title != null){
|
if (ViewBag.Title != null)
|
||||||
|
{
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
@@ -222,7 +225,7 @@ WriteLiteral(" id=\"layout_PageHeading\"");
|
|||||||
WriteLiteral(">");
|
WriteLiteral(">");
|
||||||
|
|
||||||
|
|
||||||
#line 31 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 34 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(CommonHelpers.Breadcrumbs(ViewBag.Title));
|
Write(CommonHelpers.Breadcrumbs(ViewBag.Title));
|
||||||
|
|
||||||
|
|
||||||
@@ -231,7 +234,7 @@ WriteLiteral(">");
|
|||||||
WriteLiteral("</div>");
|
WriteLiteral("</div>");
|
||||||
|
|
||||||
|
|
||||||
#line 31 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 34 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -246,7 +249,7 @@ WriteLiteral(">\r\n");
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 33 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 36 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(RenderBody());
|
Write(RenderBody());
|
||||||
|
|
||||||
|
|
||||||
@@ -255,7 +258,7 @@ WriteLiteral(" ");
|
|||||||
WriteLiteral("\r\n </section>\r\n <footer>\r\n Disco v");
|
WriteLiteral("\r\n </section>\r\n <footer>\r\n Disco v");
|
||||||
|
|
||||||
|
|
||||||
#line 36 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 39 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(Disco.Web.DiscoApplication.Version);
|
Write(Disco.Web.DiscoApplication.Version);
|
||||||
|
|
||||||
|
|
||||||
@@ -264,15 +267,16 @@ WriteLiteral("\r\n </section>\r\n <footer>\r\n Disco v"
|
|||||||
WriteLiteral(" ");
|
WriteLiteral(" ");
|
||||||
|
|
||||||
|
|
||||||
#line 36 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 39 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
if (ViewBag.IsInitialConfig != null){
|
if (ViewBag.IsInitialConfig != null)
|
||||||
|
{
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
WriteLiteral("@ ");
|
WriteLiteral("@ ");
|
||||||
|
|
||||||
|
|
||||||
#line 36 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 40 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(Disco.Web.DiscoApplication.OrganisationName);
|
Write(Disco.Web.DiscoApplication.OrganisationName);
|
||||||
|
|
||||||
|
|
||||||
@@ -281,7 +285,7 @@ WriteLiteral("@ ");
|
|||||||
WriteLiteral(" | ");
|
WriteLiteral(" | ");
|
||||||
|
|
||||||
|
|
||||||
#line 36 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 40 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(Html.ActionLink("Credits", MVC.Public.Public.Credits()));
|
Write(Html.ActionLink("Credits", MVC.Public.Public.Credits()));
|
||||||
|
|
||||||
|
|
||||||
@@ -290,14 +294,14 @@ WriteLiteral(" | ");
|
|||||||
WriteLiteral(" | ");
|
WriteLiteral(" | ");
|
||||||
|
|
||||||
|
|
||||||
#line 36 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 40 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Write(Html.ActionLink("Licence", MVC.Public.Public.Licence()));
|
Write(Html.ActionLink("Licence", MVC.Public.Public.Licence()));
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 36 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 40 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -306,13 +310,13 @@ WriteLiteral(" | ");
|
|||||||
WriteLiteral(" </footer>\r\n </div>\r\n");
|
WriteLiteral(" </footer>\r\n </div>\r\n");
|
||||||
|
|
||||||
|
|
||||||
#line 39 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 43 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
|
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
#line hidden
|
#line hidden
|
||||||
|
|
||||||
#line 39 "..\..\Views\Shared\_PublicLayout.cshtml"
|
#line 43 "..\..\Views\Shared\_PublicLayout.cshtml"
|
||||||
Disco.Services.Plugins.Features.UIExtension.UIExtensions.ExecuteExtensionResult(this);
|
Disco.Services.Plugins.Features.UIExtension.UIExtensions.ExecuteExtensionResult(this);
|
||||||
|
|
||||||
#line default
|
#line default
|
||||||
|
|||||||
Reference in New Issue
Block a user