diff --git a/web/App_Themes/style.css b/web/App_Themes/style.css index 3b511e8c..0af32496 100644 --- a/web/App_Themes/style.css +++ b/web/App_Themes/style.css @@ -29,14 +29,10 @@ body { no-repeat; } -/* When the body has the loading class, we turn - the scrollbar off with overflow:hidden */ body.loading { overflow: hidden; } -/* Anytime the body has the loading class, our - modal element will be visible */ body.loading .modal { display: block; } @@ -57,7 +53,7 @@ transition: margin 2s, padding 2s; padding-top: 201px; padding-bottom:2em; display: block; - background: url("/images/star-939235_1280.jpg") 0 0 no-repeat fixed; + background: url("/images/star-939235_1280.jpg") -3em -3em no-repeat fixed; } header h1, header a { transition:padding 2s; @@ -74,7 +70,7 @@ transition: margin 2s, padding 2s; background: url("/images/helix-nebula-1400x1400.s.jpg") 50% 10% repeat fixed ; justify-content: space-around; } - +nav li { display: inline-block; } main { transition: margin 2s, padding 2s; margin: 2em; diff --git a/web/ChangeLog b/web/ChangeLog index b1ccb7cd..5fecdd5d 100644 --- a/web/ChangeLog +++ b/web/ChangeLog @@ -1,3 +1,408 @@ +2015-10-27 Paul Schneider + + * AppAdmin.master: A new master page for Administration + + * Web.csproj: + * Web.config: + * Auth.aspx: + * Auth.aspx: + * Book.aspx: + * Book.aspx: + * Book.aspx: + * Restore.aspx: + * Auth.aspx: + * TagPanel.ascx: + * date.js: + * UserList.aspx: + * Restored.aspx: + * RoleList.aspx: + * plural.js: + * number.js: + * message.js: + * ChooseADate.aspx: + * ChooseADate.aspx: + * currency.js: + * ErrorMessage.aspx: + * globalize.js: + * ChooseADate.aspx: + * ChooseCalendar.aspx: + * ErrorMessage.aspx: + * ChooseCalendar.aspx: + * relative-time.js: + * ChooseCalendar.aspx: + * OtherWebException.aspx: + * globalize.cultures.js: + * globalize.culture.et.js: + * globalize.culture.it.js: + * globalize.culture.oc.js: + * globalize.culture.sq.js: + * globalize.culture.sr.js: + * globalize.culture.or.js: + * globalize.culture.sk.js: + * globalize.culture.es.js: + * globalize.culture.ii.js: + * globalize.culture.sl.js: + * globalize.culture.pa.js: + * globalize.culture.is.js: + * globalize.culture.no.js: + * globalize.culture.nl.js: + * globalize.culture.te.js: + * globalize.culture.ta.js: + * globalize.culture.ka.js: + * globalize.culture.tg.js: + * globalize.culture.ja.js: + * globalize.culture.iu.js: + * globalize.culture.sv.js: + * globalize.culture.nn.js: + * globalize.culture.th.js: + * globalize.culture.kk.js: + * globalize.culture.sw.js: + * globalize.culture.eu.js: + * globalize.culture.fy.js: + * globalize.culture.ru.js: + * globalize.culture.ga.js: + * globalize.culture.hr.js: + * globalize.culture.gd.js: + * globalize.culture.ro.js: + * globalize.culture.he.js: + * globalize.culture.gu.js: + * globalize.culture.rm.js: + * globalize.culture.pt.js: + * globalize.culture.hi.js: + * globalize.culture.gl.js: + * globalize.culture.ps.js: + * globalize.culture.id.js: + * globalize.culture.se.js: + * globalize.culture.fi.js: + * globalize.culture.ig.js: + * globalize.culture.fa.js: + * globalize.culture.si.js: + * globalize.culture.pl.js: + * globalize.culture.fr.js: + * globalize.culture.rw.js: + * globalize.culture.sa.js: + * globalize.culture.hu.js: + * globalize.culture.hy.js: + * globalize.culture.fo.js: + * globalize.culture.kl.js: + * globalize.culture.ml.js: + * globalize.culture.mk.js: + * globalize.culture.bs.js: + * globalize.culture.mr.js: + * globalize.culture.ca.js: + * globalize.culture.mi.js: + * globalize.culture.lt.js: + * globalize.culture.cy.js: + * globalize.culture.yo.js: + * globalize.culture.cs.js: + * globalize.culture.lv.js: + * globalize.culture.co.js: + * globalize.culture.zh.js: + * globalize.culture.az.js: + * globalize.culture.as.js: + * globalize.culture.mn.js: + * globalize.culture.ar.js: + * globalize.culture.am.js: + * globalize.culture.af.js: + * globalize.culture.ba.js: + * globalize.culture.br.js: + * globalize.culture.zu.js: + * globalize.culture.bo.js: + * globalize.culture.bn.js: + * globalize.culture.bg.js: + * globalize.culture.be.js: + * globalize.culture.da.js: + * globalize.culture.ko.js: + * globalize.culture.nb.js: + * globalize.culture.ug.js: + * globalize.culture.uk.js: + * globalize.culture.ky.js: + * globalize.culture.el.js: + * globalize.culture.tt.js: + * globalize.culture.tk.js: + * globalize.culture.km.js: + * globalize.culture.tn.js: + * globalize.culture.ne.js: + * globalize.culture.tr.js: + * globalize.culture.kn.js: + * globalize.culture.mt.js: + * globalize.culture.lb.js: + * globalize.culture.de.js: + * globalize.culture.vi.js: + * globalize.culture.lo.js: + * globalize.culture.wo.js: + * globalize.culture.ms.js: + * globalize.culture.xh.js: + * globalize.culture.ha.js: + * globalize.culture.uz.js: + * globalize.culture.ur.js: + * globalize.culture.dv.js: + * globalize.culture.qut.js: + * globalize.culture.moh.js: + * globalize.culture.prs.js: + * globalize.culture.kok.js: + * globalize.culture.nso.js: + * globalize.culture.hsb.js: + * globalize.culture.tzm.js: + * globalize.culture.sah.js: + * globalize.culture.fil.js: + * globalize.culture.sms.js: + * globalize.culture.smn.js: + * globalize.culture.smj.js: + * globalize.culture.dsb.js: + * globalize.culture.syr.js: + * globalize.culture.quz.js: + * globalize.culture.arn.js: + * globalize.culture.gsw.js: + * globalize.culture.sma.js: + * globalize.culture.uk-UA.js: + * globalize.culture.ne-NP.js: + * globalize.culture.tt-RU.js: + * globalize.culture.ur-PK.js: + * globalize.culture.tr-TR.js: + * globalize.culture.nl-BE.js: + * globalize.culture.tn-ZA.js: + * globalize.culture.ug-CN.js: + * globalize.culture.nb-NO.js: + * globalize.culture.zh-HK.js: + * globalize.culture.zh-MO.js: + * globalize.culture.zh-SG.js: + * globalize.culture.mr-IN.js: + * globalize.culture.zh-TW.js: + * globalize.culture.zu-ZA.js: + * globalize.culture.ms-BN.js: + * globalize.culture.vi-VN.js: + * globalize.culture.mt-MT.js: + * globalize.culture.wo-SN.js: + * globalize.culture.xh-ZA.js: + * globalize.culture.yo-NG.js: + * globalize.culture.ms-MY.js: + * globalize.culture.zh-CN.js: + * globalize.culture.tk-TM.js: + * globalize.culture.ps-AF.js: + * globalize.culture.se-FI.js: + * globalize.culture.se-NO.js: + * globalize.culture.se-SE.js: + * globalize.culture.pl-PL.js: + * globalize.culture.si-LK.js: + * globalize.culture.sa-IN.js: + * globalize.culture.rm-CH.js: + * globalize.culture.ro-RO.js: + * globalize.culture.pt-PT.js: + * globalize.culture.pt-BR.js: + * globalize.culture.ru-RU.js: + * globalize.culture.rw-RW.js: + * globalize.culture.sk-SK.js: + * globalize.culture.sw-KE.js: + * globalize.culture.nn-NO.js: + * globalize.culture.ta-IN.js: + * globalize.culture.te-IN.js: + * globalize.culture.th-TH.js: + * globalize.culture.nl-NL.js: + * globalize.culture.sv-SE.js: + * globalize.culture.sl-SI.js: + * globalize.culture.pa-IN.js: + * globalize.culture.or-IN.js: + * globalize.culture.oc-FR.js: + * globalize.culture.sq-AL.js: + * globalize.culture.sv-FI.js: + * globalize.culture.lo-LA.js: + * globalize.culture.es-DO.js: + * globalize.culture.es-EC.js: + * globalize.culture.es-ES.js: + * globalize.culture.es-GT.js: + * globalize.culture.es-HN.js: + * globalize.culture.es-MX.js: + * globalize.culture.es-NI.js: + * globalize.culture.es-CR.js: + * globalize.culture.en-ZA.js: + * globalize.culture.en-ZW.js: + * globalize.culture.es-AR.js: + * globalize.culture.as-IN.js: + * globalize.culture.es-BO.js: + * globalize.culture.es-CL.js: + * globalize.culture.es-CO.js: + * globalize.culture.ar-YE.js: + * globalize.culture.es-PA.js: + * globalize.culture.es-PE.js: + * globalize.culture.es-PR.js: + * globalize.culture.es-PY.js: + * globalize.culture.es-SV.js: + * globalize.culture.es-US.js: + * globalize.culture.es-UY.js: + * globalize.culture.ar-LB.js: + * globalize.culture.ar-TN.js: + * globalize.culture.ar-SY.js: + * globalize.culture.ar-SA.js: + * globalize.culture.ar-QA.js: + * globalize.culture.ar-OM.js: + * globalize.culture.ar-MA.js: + * globalize.culture.ar-LY.js: + * globalize.culture.en-US.js: + * globalize.culture.de-CH.js: + * globalize.culture.de-DE.js: + * globalize.culture.de-LI.js: + * globalize.culture.de-LU.js: + * globalize.culture.dv-MV.js: + * globalize.culture.bn-IN.js: + * globalize.culture.bn-BD.js: + * globalize.culture.de-AT.js: + * globalize.culture.ca-ES.js: + * globalize.culture.br-FR.js: + * globalize.culture.bo-CN.js: + * globalize.culture.co-FR.js: + * globalize.culture.cs-CZ.js: + * globalize.culture.cy-GB.js: + * globalize.culture.da-DK.js: + * globalize.culture.bg-BG.js: + * globalize.culture.en-IN.js: + * globalize.culture.en-JM.js: + * globalize.culture.en-MY.js: + * globalize.culture.en-NZ.js: + * globalize.culture.en-PH.js: + * globalize.culture.en-SG.js: + * globalize.culture.en-TT.js: + * globalize.culture.ba-RU.js: + * globalize.culture.be-BY.js: + * globalize.culture.el-GR.js: + * globalize.culture.en-AU.js: + * globalize.culture.en-BZ.js: + * globalize.culture.en-CA.js: + * globalize.culture.en-GB.js: + * globalize.culture.en-IE.js: + * globalize.culture.es-VE.js: + * globalize.culture.it-CH.js: + * globalize.culture.it-IT.js: + * globalize.culture.ar-IQ.js: + * globalize.culture.ar-EG.js: + * globalize.culture.ar-DZ.js: + * globalize.culture.ar-BH.js: + * globalize.culture.ja-JP.js: + * globalize.culture.is-IS.js: + * globalize.culture.hi-IN.js: + * globalize.culture.hr-BA.js: + * globalize.culture.hr-HR.js: + * globalize.culture.hu-HU.js: + * globalize.culture.hy-AM.js: + * globalize.culture.id-ID.js: + * globalize.culture.ig-NG.js: + * globalize.culture.ii-CN.js: + * globalize.culture.ka-GE.js: + * globalize.culture.lv-LV.js: + * globalize.culture.mi-NZ.js: + * globalize.culture.mk-MK.js: + * globalize.culture.ml-IN.js: + * globalize.culture.ar-AE.js: + * globalize.culture.mn-MN.js: + * globalize.culture.am-ET.js: + * globalize.culture.lt-LT.js: + * globalize.culture.kk-KZ.js: + * globalize.culture.kl-GL.js: + * globalize.culture.km-KH.js: + * globalize.culture.kn-IN.js: + * globalize.culture.ko-KR.js: + * globalize.culture.ky-KG.js: + * globalize.culture.lb-LU.js: + * globalize.culture.af-ZA.js: + * globalize.culture.gd-GB.js: + * globalize.culture.gu-IN.js: + * globalize.culture.fa-IR.js: + * globalize.culture.gl-ES.js: + * globalize.culture.fr-FR.js: + * globalize.culture.ga-IE.js: + * globalize.culture.fy-NL.js: + * globalize.culture.fi-FI.js: + * globalize.culture.fr-MC.js: + * globalize.culture.ar-KW.js: + * globalize.culture.he-IL.js: + * globalize.culture.et-EE.js: + * globalize.culture.eu-ES.js: + * globalize.culture.fo-FO.js: + * globalize.culture.fr-LU.js: + * globalize.culture.fr-BE.js: + * globalize.culture.ar-JO.js: + * globalize.culture.fr-CH.js: + * globalize.culture.fr-CA.js: + * globalize.culture.sms-FI.js: + * globalize.culture.fil-PH.js: + * globalize.culture.smn-FI.js: + * globalize.culture.moh-CA.js: + * globalize.culture.sma-NO.js: + * globalize.culture.sma-SE.js: + * globalize.culture.zh-CHT.js: + * globalize.culture.zh-CHS.js: + * globalize.culture.smj-NO.js: + * globalize.culture.qut-GT.js: + * globalize.culture.smj-SE.js: + * globalize.culture.dsb-DE.js: + * globalize.culture.prs-AF.js: + * globalize.culture.quz-PE.js: + * globalize.culture.quz-EC.js: + * globalize.culture.hsb-DE.js: + * globalize.culture.syr-SY.js: + * globalize.culture.quz-BO.js: + * globalize.culture.gsw-FR.js: + * globalize.culture.kok-IN.js: + * globalize.culture.sah-RU.js: + * globalize.culture.en-029.js: + * globalize.culture.nso-ZA.js: + * globalize.culture.arn-CL.js: + * globalize.culture.az-Cyrl.js: + * globalize.culture.az-Latn.js: + * globalize.culture.bs-Cyrl.js: + * globalize.culture.iu-Latn.js: + * globalize.culture.sr-Latn.js: + * globalize.culture.tg-Cyrl.js: + * globalize.culture.iu-Cans.js: + * globalize.culture.sr-Cyrl.js: + * globalize.culture.uz-Cyrl.js: + * globalize.culture.mn-Cyrl.js: + * globalize.culture.bs-Latn.js: + * globalize.culture.mn-Mong.js: + * globalize.culture.zh-Hant.js: + * globalize.culture.zh-Hans.js: + * globalize.culture.uz-Latn.js: + * globalize.culture.ha-Latn.js: + * globalize.culture.tzm-Latn.js: + * globalize.culture.sr-Cyrl-CS.js: + * globalize.culture.sr-Cyrl-ME.js: + * globalize.culture.bs-Latn-BA.js: + * globalize.culture.sr-Cyrl-BA.js: + * globalize.culture.ha-Latn-NG.js: + * globalize.culture.iu-Cans-CA.js: + * globalize.culture.iu-Latn-CA.js: + * globalize.culture.sr-Cyrl-RS.js: + * globalize.culture.bs-Cyrl-BA.js: + * globalize.culture.uz-Latn-UZ.js: + * globalize.culture.uz-Cyrl-UZ.js: + * globalize.culture.az-Latn-AZ.js: + * globalize.culture.az-Cyrl-AZ.js: + * globalize.culture.sr-Latn-BA.js: + * globalize.culture.sr-Latn-CS.js: + * globalize.culture.sr-Latn-ME.js: + * globalize.culture.mn-Mong-CN.js: + * globalize.culture.sr-Latn-RS.js: + * globalize.culture.tg-Cyrl-TJ.js: + * globalize.culture.tzm-Latn-DZ.js: + + * style.css: list in the nav are in line by default. + + * AdminController.cs: refactoring + + * App.master: Restores hallo editing by solving again + jQuery-ui ref + + * Login.aspx: Prettier code at building Urls + + * Admin.aspx: + * Index.aspx: + * AddRole.aspx: + * Backups.aspx: + * RemoveUser.aspx: + * RemoveRole..aspx: + * CreateBackup.aspx: + * BackupCreated.aspx: new master page + 2015-10-25 Paul Schneider * style.css: backgrounds don't really need diff --git a/web/Controllers/AdminController.cs b/web/Controllers/AdminController.cs index 3288b5af..97a68641 100644 --- a/web/Controllers/AdminController.cs +++ b/web/Controllers/AdminController.cs @@ -3,7 +3,6 @@ using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; -using System.Web.Mvc.Ajax; using System.Web.Security; using Yavsc.Model.RolesAndMembers; using Yavsc.Model.Admin; @@ -25,12 +24,12 @@ namespace Yavsc.Controllers /// public ActionResult Index() { - if (!Roles.RoleExists (adminRoleName)) { - Roles.CreateRole (adminRoleName); - YavscHelpers.Notify (ViewData, adminRoleName + " " + LocalizedText.role_created); + if (!Roles.RoleExists (roleName)) { + Roles.CreateRole (roleName); + YavscHelpers.Notify (ViewData, roleName + " " + LocalizedText.role_created); } - return View (); + return View ("Index"); } /// /// Inits the db. @@ -229,7 +228,7 @@ namespace Yavsc.Controllers /// a form to add a role /// /// The role. - [Authorize(Roles="Admin")] + [Authorize(Roles="Admin"),HttpGet] public ActionResult AddRole () { return View (); @@ -240,8 +239,8 @@ namespace Yavsc.Controllers /// /// The add role. /// Rolename. - [Authorize(Roles="Admin")] - public ActionResult DoAddRole (string rolename) + [Authorize(Roles="Admin"),HttpPost] + public ActionResult AddRole (string rolename) { Roles.CreateRole(rolename); YavscHelpers.Notify(ViewData, LocalizedText.role_created+ " : "+rolename); @@ -257,9 +256,8 @@ namespace Yavsc.Controllers { return View (Roles.GetAllRoles ()); } - private const string adminRoleName = "Admin"; - + private const string roleName = "Admin"; /// /// Assing the Admin role to the specified user in model. @@ -269,7 +267,7 @@ namespace Yavsc.Controllers public ActionResult Admin (NewAdminModel model) { // ASSERT (Roles.RoleExists (adminRoleName)) - string [] admins = Roles.GetUsersInRole (adminRoleName); + string [] admins = Roles.GetUsersInRole (roleName); string currentUser = Membership.GetUser ().UserName; List users = new List (); foreach (MembershipUser u in Membership.GetAllUsers ()) { @@ -281,8 +279,8 @@ namespace Yavsc.Controllers ViewData ["admins"] = admins; ViewData ["useritems"] = users; if (ModelState.IsValid) { - Roles.AddUserToRole (model.UserName, adminRoleName); - YavscHelpers.Notify(ViewData, model.UserName + " "+LocalizedText.was_added_to_the_role+" '" + adminRoleName + "'"); + Roles.AddUserToRole (model.UserName, roleName); + YavscHelpers.Notify(ViewData, model.UserName + " "+LocalizedText.was_added_to_the_role+" '" + roleName + "'"); } else { if (admins.Length > 0) { if (! admins.Contains (Membership.GetUser ().UserName)) { @@ -292,11 +290,11 @@ namespace Yavsc.Controllers } } else { // No admin, gives the Admin Role to the current user - Roles.AddUserToRole (currentUser, adminRoleName); + Roles.AddUserToRole (currentUser, roleName); admins = new string[] { currentUser }; YavscHelpers.Notify(ViewData, string.Format ( LocalizedText.was_added_to_the_empty_role, - currentUser, adminRoleName)); + currentUser, roleName)); } } return View (model); diff --git a/web/Models/App.master b/web/Models/App.master index 0dcd69eb..649dc00f 100644 --- a/web/Models/App.master +++ b/web/Models/App.master @@ -15,9 +15,9 @@ " /> - + - + @@ -46,7 +46,7 @@ Yavsc.notice('<%=note%>'); <% } %> -