|
|
|
|
//
|
|
|
|
|
// UserNameBase.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;
|
|
|
|
|
|
|
|
|
|
namespace Yavsc.Model.RolesAndMembers
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// User name base.
|
|
|
|
|
/// </summary>
|
|
|
|
|
public class UserNameBase : IUserName, IIdentified<string> {
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets the name of the user.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value>The name of the user.</value>
|
|
|
|
|
[Localizable(true), Required(ErrorMessage = "S'il vous plait, entrez un nom d'utilisateur")
|
Nouvelles fonctionalités:
- Gestion des déploiement de configurations
- Ajout et suppression d'utilisateurs au groupes (autres que celui des admins)
- Page à customiser en cas d'accès à une ressource d'accès restreint, qui par défaut
n'indique que le nom de controleur et celui de la methode concérnée, et qui ajoute,
seulement dans le cas ou l'utilisateur est administrateur, les noms de groupes ou d'utilisateur
autorisés, avec la mentions "admins only" invitant à la discretion.
* Microsoft.Web.XmlTransform.dll: Copié de l'import Nuget de
Mono.Web.Xdt (transformations de fichiers de configuration)
* yavsc.admin.js: Implémente les méthodes Javascript de l'interface
utilisateur de suppression et d'ajout d'un utilisateur à un groupe:
un widget jQuery pour la suppression, l'accès à l'API
* RestrictedArea.aspx: Page vue par l'utilisateur si par malheur il
suivait un lien vers un contenu d'accès restreint, à la place d'un
code Http 404 ou autre.
Si cet utilisateur est administrateur, la page lui affiche les rôles
ou utilisateurs autorisés à accèder au contenu.
* RestrictedArea.aspx:
* RestrictedArea.aspx:
* RestrictedArea.aspx:
* RestrictedArea.aspx:
* RestrictedArea.aspx:
* RestrictedArea.aspx:
* RestrictedArea.aspx: Page vue par l'utilisateur si par malheur il
suivait un lien vers un contenu d'accès restreint, à la place d'un
code Http 404 ou autre.
Si cet utilisateur est administrateur, la page lui affiche les rôles
ou utilisateurs autorisés à accèder au contenu.
* Makefile: retour au débuggage de la copie de travaille, et pas de la
déployée. La copie de travail sera avec les mots de passe, et donc toujours différente de celle sous git,
mais c'est pas grave.
* AccountController.cs: Evite de mettre à jour un mot de passe avec
des valeures non attendues
* style.css: corrige un mouvement de la disposition au survol de la
souris
* AuthorizeAttribute.cs: enlève la redirection à l'accès restreint, et
fixe pas la même la transmission des données `Roles` et `Users` de
la vue
* AdminController.cs: Evite de supprimer un utilisateur d'un groupe
avec des valeures non attendues
* HomeController.cs: Il n'y avait pas à créer de methode pour la vue
publique de l'accès restreint.
* YavscAjaxHelper.cs: évite d'avoir à convertir en chaine les valeurs
de la vue.
* App.master: Cette page maître affiche encore beaucoup de billets de
blog, on y installe le coteur, de base. Ça changera quand les blogs
auront (enfin) leur page maître dédiée.
* AppAdmin.master: synchronisation avec la page maître principale
(thémes)
* NoLogin.master: synchronisation avec la page maître
principale.(thémes)
* yavsc.rate.js: supprime l'initialisation de tous les type de cotes
depuis le script global.
C'est fait sur les pages qui en ont besoin, et seulement pour les
types de cotes concernés.
* AddUserToRole.ascx: Ce formulaire est maintenant à la fois
opérationel depuis une interface web sans javascript, et à la Ajax
quand Javascript activé.
* UsersInRole.aspx: implémente l'interface utilisateur pour
l'ajout et la suppression d'un utilisateur à un groupe
* Skills.aspx: initialise le coteur js des compétences site
* UserSkills.aspx: initialise le coteur js de compétences utilisateur
* Web.csproj: un script et des pages d'erreur d'accès, il en faut une
par controlleur s'il veut restreindre ses accès sans rendre de code Http 403 ou 404.
* UserNameBase.cs: Permet l'usage des espaces dans les noms
d'utilisateurs, à la création legacy, ou autres usage du nom d'utilisateur.
10 years ago
|
|
|
,Display(ResourceType=typeof(LocalizedText),Name="User_name"),RegularExpression(@"^[a-zA-Z .-_#]{1,100}$")]
|
|
|
|
|
public string UserName { get; set; }
|
|
|
|
|
|
|
|
|
|
#region IIdentified implementation
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Gets or sets the identifier.
|
|
|
|
|
/// </summary>
|
|
|
|
|
/// <value>The identifier.</value>
|
|
|
|
|
public string Id {
|
|
|
|
|
get {
|
|
|
|
|
return UserName;
|
|
|
|
|
}
|
|
|
|
|
set {
|
recupération de mot de passe + prise de commande
* ResetPassword.txt: Un message pour le mot de passe oublié
* style.css: fixe un 404
* UpdatePassword.aspx: Implémente le formulaire de mise à jour du mot
de passe,
accessible depuis l'e-mail.
* Contact.aspx: implémente la page de contact préstataire
* UpdatePassword.cs: modèle de la modification de mot de passe au
jeton de securité (qui est encore un fake en l'état)
* CommandRegistration.cs: un enregistrement de commande
* NominativeCommandRegistration.cs: un enregistrement de commande
nominative
* .gitignore: ignore ma config LuaDebug
* NpgsqlMembershipProvider.cs: ne pas crasher à la lecture en base de
la question de
recupération du mot de passe quand elle est nulle.
* BasketController.cs: renvoie l'objet décrivant la prise de commande
* Global.asax.cs: ignorer les routes vers App_Data et App_Code
* instdbws.sql: passage du type json à jsonb pour les paramètres de la
commande
* RegistrationMail.txt: un piti message à l'enregistrement
* AccountController.cs: Envoi du message du mot de passe oublié,
methode de changemnet du mot de passe.
* AdminController.cs: xmldoc + refabrication helper Notify
* HomeController.cs:
* BlogsController.cs:
* GoogleController.cs: refabrication helper Notify
* FrontOfficeController.cs: Refabrication: Utilisation du nouvel
enregistrement de commande.
+ refabrication helper Notify
* YavscHelpers.cs: implémente la methode d'envoi du message de mot de
passe oublié
+ refabrication helper Notify
* App.master: Corrige la notification Html
* AppAdmin.master: Le lien vers la page de contact était associé
à tort à la classe css "thanks"
* yavsc.js: message plus parlant en cas de requête Ajax mal formée.
* Login.aspx: Implémente le lien vers le formulaire de recupération du
mot de passe
* UserPost.aspx: .
* Booking.aspx: format du code
* Performer.ascx: l'e-mail préstataire ne sera jamais fourni par
l'application,
aussi, on parlera de "prendre contact", d'échanger ... mais pas de
donner l'adresse e-mail.
L'information "son email" n'est donc pas disponible meme à
l'utilisateur autorisé.
La prise de contact, ou autre fux de comunication le sont.
* Performers.aspx: affiche la notification à l'envoi de la demande de
devis
* Product.aspx:
* Service.aspx: les periodes du catalogue et du calendrier sont
fondue.
* Contact.aspx: traduction en français
* Web.config:
* la procédure de recupération du mot de passe est
activée
* l'e-message envoyé est construit à partir d'un modèle, un fichier
texte trouvé dans /App_Data, et indiqué à l'application
par le paramêtre applicatif "LostPasswordMessage"
* Yavsc.csproj: reference les nouveaux fichiers
* Product.cs: utilise la période du calendrier
* Commande.cs: renvoie un objet à la prise de commande, indiquant
l'identifiant de commande, et les messages envoyés
en cas de commande nominative.
* GoogleHelpers.cs: icone à la notification mobile
* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: traductions
* UserNameBase.cs: fixe la dé-sérialisation
* WorkFlowManager.cs: refabrication de la prise de commande
* YavscModel.csproj: nouveaux objets du modèle
* OtherWebException.aspx: page obsolete
* Period.cs: fondre la période: celle du catalogue disparait, au
profit de celle du calendrier.
10 years ago
|
|
|
UserName = value;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#endregion
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|