yavsc/web/ApiControllers/AccountController.cs

145 lines
4.2 KiB
C#

* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
//
// AccountController.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.Web.Http;
using System.Net.Http;
using Yavsc.Model.RolesAndMembers;
using System.Web.Security;
using System.Web.Profile;
using Yavsc.Helpers;
using System.Collections.Specialized;
namespace Yavsc.ApiControllers
{
* cldr.js: * Web.config: * ListItem.cs: * styles.json: * globalize.js: * event.js: * Auth.aspx: * Book.aspx: * Login.aspx: * jquery-2.1.4.js: * map-load.gif: * Book.aspx: * Circle.cs: * Auth.aspx: * mapstyle.css: * date.js: * Login.aspx: * mdd_help.htm: * BlogHelper.cs: * fit-bounds.png: * unresolved.js: * jquery-2.1.4.min.js: * mapstyle-ie.css: * FreeDate.cs: * BookEdit.cs: * number.js: * BlogManager.cs: * plural.js: * jquery-2.1.4.min.map: * jquery.googlemaps.js: * supplemental.js: * BlogProvider.cs: * mapstyle.min.css: * pin-pink.png: * message.js: * ChooseADate.aspx: * pin-azure.png: * currency.js: * jquery-2.1.4-vsdoc.js: * pin-green.png: * MarkdownDeepLib.min.js: * flag-azure.png: * flag-green.png: * needle-pink.png: * ChooseADate.aspx: * niddle-green.png: * ChooseCalendar.aspx: * current-location.png: * jquery.googlemaps.min.js: * ErrorMessage.aspx: * ChooseCalendar.aspx: * relative-time.js: * GoogleErrorMessage.aspx: * popup-template-marker.html: * popup-template-circle.html: * popup-template-polygon.html: * popup-template-polyline.html: * popup-template-rectangle.html: * Web.csproj: * YavscModel.csproj: * YavscClient.csproj: * fortune.csproj: * WebControls.csproj: * SalesCatalog.csproj: * ITContentProvider.csproj: * NpgsqlMRPProviders.csproj: * NpgsqlBlogProvider.csproj: * NpgsqlContentProvider.csproj: Moves to Mono framework * NpgsqlCircleProvider.cs: Makes Circles private, or not * OAuth2.cs: * CircleController.cs: * AccountController.cs: * NpgsqlContentProvider.cs: Impacts htmldoc * NpgsqlMembershipProvider.cs: Makes possible to change the UserName * NpgsqlRoleProvider.cs: Drops this SQL code, which is actually maintained in Web/instdbws.sql * PeopleApi.cs: * GoogleController.cs: * PaypalController.cs: Refactoring * Global.asax.cs: Dropped an useless url mapping * MarkdownHelper.cs: Package update * App.master: * NoLogin.master: Site's favicon update * Circles.aspx: TO BE FIXED :-D * UserPost.aspx: Comment only when logged in * instdbws.sql: Circle public * packages.config: package update
11 years ago
/// <summary>
/// Account controller.
/// </summary>
public class AccountController : YavscController
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
{
/// <summary>
/// Register the specified model.
/// </summary>
/// <param name="model">Model.</param>
[Authorize ()]
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
[ValidateAjaxAttribute]
public HttpResponseMessage Register ([FromBody] RegisterClientModel model)
{
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
if (ModelState.IsValid) {
if (model.IsApprouved)
if (!Roles.IsUserInRole ("Admin"))
if (!Roles.IsUserInRole ("FrontOffice")) {
ModelState.AddModelError ("Register",
"Since you're not member of Admin or FrontOffice groups, " +
"you cannot ask for a pre-approuved registration");
return DefaultResponse ();
}
MembershipCreateStatus mcs;
var user = Membership.CreateUser (
model.UserName,
model.Password,
model.Email,
model.Question,
model.Answer,
model.IsApprouved,
out mcs);
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
switch (mcs) {
case MembershipCreateStatus.DuplicateEmail:
ModelState.AddModelError ("Email", "Cette adresse e-mail correspond " +
"à un compte utilisateur existant");
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
break;
case MembershipCreateStatus.DuplicateUserName:
ModelState.AddModelError ("UserName", "Ce nom d'utilisateur est " +
"déjà enregistré");
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
break;
case MembershipCreateStatus.Success:
if (!model.IsApprouved)
Url.SendActivationMessage (user);
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
ProfileBase prtu = ProfileBase.Create (model.UserName);
prtu.SetPropertyValue ("Name", model.Name);
prtu.SetPropertyValue ("Address", model.Address);
prtu.SetPropertyValue ("CityAndState", model.CityAndState);
prtu.SetPropertyValue ("Mobile", model.Mobile);
prtu.SetPropertyValue ("Phone", model.Phone);
prtu.SetPropertyValue ("ZipCode", model.ZipCode);
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
break;
default:
break;
}
}
return DefaultResponse ();
}
/// <summary>
/// Resets the password.
/// </summary>
/// <param name="model">Model.</param>
[ValidateAjax]
public void ResetPassword (LostPasswordModel model)
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
{
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
if (ModelState.IsValid) {
StringDictionary errors;
MembershipUser user;
YavscHelpers.ValidatePasswordReset (model, out errors, out user);
foreach (string key in errors.Keys)
ModelState.AddModelError (key, errors [key]);
if (user != null && ModelState.IsValid)
Url.SendActivationMessage (user);
}
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
}
/// <summary>
/// Adds the user to role.
/// </summary>
/// <param name="model">Model.</param>
[ValidateAjax]
[Authorize(Roles="Admin")]
public void AddUserToRole(UserRole model)
{
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
if (ModelState.IsValid)
Roles.AddUserToRole (model.UserName, model.Role);
}
/// <summary>
/// Removes the user from role.
/// </summary>
/// <param name="model">Model.</param>
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
[ValidateAjax]
[Authorize(Roles="Admin")]
public void RemoveUserFromRole(UserRole model)
{
if (ModelState.IsValid)
Roles.RemoveUserFromRoles (model.UserName,
new string [] { model.Role } );
}
le theme, WIP les cercles * input.css: refabrication des feuilles de style : la feuille des champs de formulaire. * CircleMember.cs: un membre de cercle est un nom d'utilisateur associé au cercle d'un autre utilisateur. * ICircle.cs: Définit l'interface d'un cercle: un cercle est identifié par un entier long, il a un possesseur. * Makefile: utilise le fichier de conf généré pour débugger. * NpgsqlContentProvider.cs: bug fix * README.md: maj priorités * AccountController.cs: implémente une méthode de l'API pour ajouter un utilisateur au cercle * links.css: Corrige la couleur du boutton de validation des formulaire de classe `ActionLink` * style.css: refabrication: importe la nouvelle feuille de style des champs de formulaires * style.css: nettoyage du thème sombre * style.css: nettoyage + section principale (`main`) centré * FrontOfficeController.cs: Repositionne la route vers le devis à do/Estimate * YavscHelpers.cs: corrige ma ré-écriture des helpers html ActionLink * App.master: formattage du code source * AppAdmin.master: synchronisation avec la page maître, beaucoup de changements dans cette page maître pour les administrateurs: * prend en charge les côtes d'article * utilise les fontes de caractère de la page pour les lien action * prend en charge les zones de formulaire masquable. * NoLogin.master: synchronisation avec la page maître * Performer.ascx: WIP permet d'ajouter un préstataire à un de ses cercles. * YourEstimates.aspx: corrige un lien cassé * Yavsc.csproj: mise à niveau Npgsql, renommage Estimate * packages.config: mise à niveau de la bibliothèque Npgsql (pilote d'accès à la base de donnée) * CircleBase.cs: un objet cercle basique implémente l'interface d'un cercle. * PerformerProfile.cs: s'assure que le nom d'utilisateur utilisé n'est pas vide. * IIdentified.cs: doc xml * UserNameBase.cs: l'objet base de type "nom d'utilisateur" implémente l'interface générique d'un identifié, par une chaine de caractère. * YavscModel.csproj: reference les nouvelles definitions : * un membre de cercle * l'interface d'un cercle * MainClass.cs: format du code * YavscClient.csproj: * Estimate.aspx: refabrication
10 years ago
[ValidateAjax]
[Authorize()]
public void AddUserToCircle(UserRole model)
{
if (ModelState.IsValid)
Roles.AddUserToRole (model.UserName,
model.Role );
}
* AccountController.cs: Register and reset passord from Web API * GCMController.cs: initial creation, will host GCM calls and related procedures. * ResetPassword.aspx: Html view to reset the password * LocalizedText.resx: * LocalizedText.fr.resx: new String form circles * Web.config: * Web.csproj: * YavscModel.csproj: * LocalizedText.Designer.cs: * Profile.cs: * Profile.cs: * LocalizedText.fr.Designer.cs: * LoginModel.cs: * Publishing.cs: * CalendarController.cs: * LoginModel.cs: * GCMRegister.cs: * Publishing.cs: * GCMRegister.cs: * NewRoleModel.cs: * NewRoleModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * RegisterModel.cs: * NewAdminModel.cs: * LostPasswordModel.cs: * RegisterViewModel.cs: * RegisterViewModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: * ProviderPublicInfo.cs: * RegisterClientModel.cs: * ChangePasswordModel.cs: Fixes a typo (in the namespace :-/) * NpgsqlCircleProvider.cs: Fixes the Circle creation * Global.asax.cs: * AdminController.cs: * NpgsqlContentProvider.cs: code formatting * BlogsController.cs: * CircleController.cs: * WorkFlowController.cs: * PaypalApiController.cs: * FrontOfficeController.cs: refactoring * AccountController.cs: Adds the way to reset the password * FrontOfficeController.cs: xml doc * T.cs: Make this class an helper to translation * YavscHelpers.cs: Implements the e-mail sending * style.css: style uniformization * Circles.aspx: Implements the Html interface to Circle creation (modifications and deletions are still to implement) * Register.ascx: Allows the error display in case of lack of power of the user at registering another user. * Estimate.aspx: use the partial view to register from the Account folder. Cleans the useless reference to ~/Theme/dark/style.css, that was for using the "tablesorter.js", no used anymore. * Web.config: Trying to have all the Index pages to work...
11 years ago
}
}