Many fixes

* Profile.aspx:
* ProfileEdition.cs: Fixes the username modification

* Book-next.aspx: pollution

* NpgsqlMembershipProvider.cs: xmldoc

* NpgsqlProfileProvider.cs: use default values from configuration

* NpgsqlUserNameProvider.cs: Fixes the username detection

* test-domain-TestAPI.config: profile dates must be returned as
  DateTime

* instdbws.sql: The conversion to a valid .Net DateTime requires a
  credible date time as source value, the null one is not supported.

* style.css: Fixes the new notification style

* AccountController.cs: Fixes the profile edition.
Now using the anti forgery key at login time

* Book.aspx:
* LocalizedText.resx:
* LocalizedText.fr.resx:
* CalendarApi.cs:
* GoogleController.cs:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: WIP booking

* HomeController.cs: code prettying

* Global.asax.cs: Limits the usage of titles in a route to the blog
  controller

* OAuth2.cs: Profile values may be of type DBNull ...

* T.cs: All translated strings will be Html encoded, as expected from
  an html helper

* YavscHelpers.cs: A new method to build a javascript string...

* App.master:
* AppAdmin.master: Notification.body is now a js string literal

* NoLogin.master: sync with the true master

* Login.aspx: Permits the anti forgery key usage

* Estimate.aspx: refactoring

* Web.config: Fixes a later commit on the catalog name space

* Web.csproj: An ajax helper to notify

* ChangePasswordModel.cs:
* RegisterClientModel.cs: A regexp for user name

* LoginModel.cs: A regexp for user name and password

* Profile.cs: A regexp for user name, and profile usage fixes

* UserManager.cs: Checks for username availability before trying to
  modify it

* YavscModel.csproj: `ProfileEdition` class addition

* ChangeLog: should not be indexed

* ChangeLog: useless here

* ValidateAjaxAttribute.cs: Fixes usage of HtmlFieldPrefix

* BookQuery.cs: Start, end hour and role are required

* OtherWebException.cs: useless
This commit is contained in:
Paul Schneider 2015-11-01 01:47:42 +01:00
commit d9d5bb308e
42 changed files with 441 additions and 275 deletions

View file

@ -12,7 +12,7 @@ namespace Yavsc.Model.RolesAndMembers
/// Gets or sets the username.
/// </summary>
/// <value>The username.</value>
[Required(ErrorMessage = "Please, enter your user name")]
[Required(ErrorMessage = "Please, enter your user name"),RegularExpression("([a-z]|[A-Z]|[\\s-_.~]|[0-9])+")]
public string Username { get; set; }
/// <summary>

View file

@ -15,7 +15,7 @@ namespace Yavsc.Model.RolesAndMembers
/// <value>The name of the user.</value>
[DisplayName("Nom d'utilisateur"),
Required(ErrorMessage = "S'il vous plait, entrez un nom d'utilisateur ([a-z]|[A-Z]|[-_.~]|[0-9])+"),
RegularExpression("([a-z]|[A-Z]|[-_.~]|[0-9])+")]
RegularExpression("([a-z]|[A-Z]|[0-9])+")]
public string UserName { get; set; }
/// <summary>
@ -23,8 +23,7 @@ namespace Yavsc.Model.RolesAndMembers
/// </summary>
/// <value>The password.</value>
[DisplayName("Mot de passe"),
Required(ErrorMessage = "S'il vous plait, entez un mot de passe"),
RegularExpression("([a-z]|[A-Z]|[0-9]|[-_.~#{}`'\\^])+")]
RegularExpression("([a-z]|[A-Z]|[\\s-_.~]|[0-9])+")]
public string Password { get; set; }
/// <summary>

View file

@ -219,7 +219,11 @@ namespace Yavsc.Model.RolesAndMembers
/// Gets or sets the name of the user.
/// </summary>
/// <value>The name of the user.</value>
public string UserName { get { return userName; } }
[Localizable(true), Required(ErrorMessage = "S'il vous plait, entrez un nom d'utilisateur valide")
,Display(ResourceType=typeof(LocalizedText),Name="User_name"),
RegularExpression("([a-z]|[A-Z]|[\\s-_.~]|[0-9])+")
]
public string UserName { get { return userName; } set { userName=value; } }
public Profile () : base ()
{
@ -276,7 +280,6 @@ namespace Yavsc.Model.RolesAndMembers
userName = profile.UserName;
s = profile.GetPropertyValue ("BankCode");
BankCode = (s is DBNull) ? null : (string)s;
@ -290,11 +293,10 @@ namespace Yavsc.Model.RolesAndMembers
WicketCode = (s is DBNull) ? null : (string)s;
s = profile.GetPropertyValue ("AccountNumber");
this.AccountNumber = (s is DBNull) ? null : (string)s;
s = profile.GetPropertyValue ("BankedKey");
BankedKey = (s == null) ? 0 : (s is DBNull)? 0 : (int)s;
AccountNumber = (s is DBNull) ? null : (string)s;
object o = profile.GetPropertyValue ("BankedKey");
BankedKey = (int)0;
s = profile.GetPropertyValue ("gcalid");
GoogleCalendar = (s is DBNull)? null : (string) s;
}

View file

@ -0,0 +1,46 @@
//
// ProfileEdition.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Profile;
namespace Yavsc.Model.RolesAndMembers
{
public class ProfileEdition : Profile
{
public ProfileEdition()
{}
public ProfileEdition(ProfileBase pr): base(pr)
{
NewUserName = UserName;
}
[Localizable(true), Required(ErrorMessage = "S'il vous plait, entrez un nom d'utilisateur valide")
,Display(ResourceType=typeof(LocalizedText),Name="User_name"),
RegularExpression("([a-z]|[A-Z]|[\\s-_.~]|[0-9])+")
]
public string NewUserName { get; set; }
}
}

View file

@ -35,7 +35,8 @@ namespace Yavsc.Model.RolesAndMembers
/// </summary>
/// <value>The full name.</value>
[DisplayName("Nom complet")]
[Required(ErrorMessage="S'il vous plait, saisissez le nom complet")]
[Required(ErrorMessage="S'il vous plait, saisissez le nom complet"),
RegularExpression("([a-z]|[A-Z]|[\\s-_.~]|[0-9])+")]
public string Name { get; set; }
/// <summary>
/// Gets or sets the address.

View file

@ -15,6 +15,12 @@ namespace Yavsc.Model.RolesAndMembers
/// <param name="oldName">Old name.</param>
/// <param name="newName">New name.</param>
public static void ChangeName (string oldName, string newName) {
if (!IsAvailable (newName))
throw new Exception (
string.Format(
LocalizedText.DuplicateUserName,
newName
));
Provider.ChangeName (oldName, newName);
}