* animate.css: animations css * links.css: liens avec le fond blanc qui se déroule * links.css: WIP liens thème sombre * GitHub.ico: un petit merci à GitHub * live-concert-fg.png: image de plan rapproché : les fans * live-concert-scene.jpg: Image de fond : la scene * splash-image-2.jpg: image de fond : photo colorée, public de concert, vient de totemproduction.fr * links.css: ficher de définitions globales du style des bouttons (encore inutilisé) * yavsc.user.js: WIP implémente le widget "utilisateur", permettant l'affichage des liens rapides pour tout nom d'ulitisateur, le cas échéant, vers l'ajout à un cercle, vers son blog, vers des methodes choisies d'administateur, vers ses réseaux sociaux, voir plus. * About.aspx: Implémente une page "à propos" * Test.aspx: Page de test: désolé pour le bruit, elle n'est compilée qu'en mode `Debug` (elle n'est pas accessible en production) * NpgsqlBlogProvider.cs: Corrige la méthode pour enlever un tag à un article ... * NpgsqlBlogProvider.csproj: . * NpgsqlCircleProvider.cs: liste les cercles auquels appartient un utilisateur. * BasketController.cs: * NpgsqlContentProvider.cs: Les commandes sont fortement typée. * README.md: mise à jour des priorités * style.css: réécriture du thème clair * style.css: * implémente un classe css `clickme` pour attirer l'oeil sur le boutton de validation après la modification d'un champ de formulaire. * enlève tous les coins arrondis * modifie la chasse de caractères (une seule utilisée pour le moment) * * style.css: * integre la référence à la feuille de style des [animations](https://daneden.github.io/animate.css/) * corrige des marges, alignements * supprime ce qui reste de coin arrondi * néttoye les définitions obsolètes * définit la classe `username` * corrige le survol à la suppression de tag * FrontOfficeController.cs: renomme des methodes, refabriqué pour s'adapter aux changements de l'API du workflow, WIP propose les cercles utilisateurs pour l'ajout des profiles préstataires aux cercles. * HomeController.cs: implémente une page "à propos" * T.cs: re-autorise le titre vide de page, au cas où ... car ce n'est pas un véritable défaut fonctionnel. * YavscHelpers.cs: Implemente un outil de presentation des liens action traduits. Tous les liens action utilisent maintenant cette nouvelle methode, au profile de celle du framework `HtmlHelpers.ActionLink` * App.master: corrige l'usage du contrôle utilisateur des cotes dans le cadre des cotes de billet. * AppAdmin.master: * Index.aspx: * Service.aspx: * ProductCategory.aspx: traduction des liens action * NoLogin.master: * traduction des liens action * suppression des liens de remerciement dans le bas de page, cette information a été déplacée dans la page `/Home/Credits` * to-markdown.js: transforme maintenant les noeuds Html `div` en paragraphes Markdown. * yavsc.hidefieldset.js: Le script règle la forme de la souris au survol du bouton, le cas échéant. * yavsc.js: nouvelle fonction javascript pour logger un objet arbitraire. * yavsc.rate.js: Fixe la possibilité de mettre des cotes très basses ou très hautes (reste encore un mieux à faire), Affiche au survol des descriptions optionnelles de la cote. * Title.aspx: * UserPost.aspx: * Edit.aspx: * Index.aspx: * Brand.aspx: * Index.aspx: * PostActions.ascx: * TitleNotFound.aspx: * Booking.aspx: * Command.aspx: * ChangePasswordSuccess.aspx: Traduction des liens action * Login.aspx: * Traduction des liens actionTraduction des liens action * Profile.aspx: * Traduction des liens actionTraduction des liens action * utilisation de la classe css `mayhide` qui autorise maintenant un champ d'entrées de formulaire à être plié/déplié au click sur sa légende. * Admin.aspx: Traduction des liens actionTraduction des liens actionTraduction des liens actionTraduction des liens actionTraduction des liens actionTraduction des liens action * Backups.aspx: * RoleList.aspx: * UserList.aspx: * Index.aspx: Traduction des liens actionTraduction des liens action * Edit.aspx: * refabrication de la structure Html * Traduction des liens actionTraduction des liens action * Index.aspx: Simlpification des apperçus de blog * TagControl.ascx: refabrication pour simplifier l'implémentation du contrôle utilisateur des tags * UserPosts.aspx: Traduction des liens action, et simplification du listing de blog * Basket.aspx: Affiche les articles du panier de commandes avec leur vue dédiée à leur type (les commande sont maintenant fortement typées) * Catalog.aspx: Traduction des liens action, correctin du lien vers le produit (cassé depuis une vielle refabrication des routes) * DoAnEstimate.aspx: refabrication de la vue de création du devis: renommée depuis `Estimate` * Performer.ascx: * un message supplementaire à l'absence de compétence affichée par un préstataire * des guillemets autour du commentaire du préstataire sur sa compétence * ajout du préstataire au cercles * Performers.aspx: Décrit en détail les informations sur la disponibilité d'un préstataire, à la date demandée. * YourEstimates.aspx: renomage de cette page, pour préciser sa fonction : Vos devis. * Contact.aspx: structure Html de la page de contact * Credits.aspx: Ajoute les remerciements aux communauté du libre * Index.aspx: ne fait rien * Web.config: * import de `System.Transactions` * mise à jour des credits libres * WebDeploy.targets: utilise les séparateurs de chemin vers ficher à la POSIX, ne change rien pour ma config ... (TODO tester sous WoinDose) * Yavsc.csproj: déploie des pages des scripts Javascript et des images et feuilles de style en plus. * CircleManager.cs: implémente les methodes utilisées à la construction du contrôle utilisateur. * CircleProvider.cs: * doc xml * extension de interface * Commande.cs: l'objet `Command` devient abstrait, pour exister (être instanciée), une commande doit maintenant hériter de cet objet abstrait. * LocalizedText.resx: * LocalizedText.fr.resx: * LocalizedText.Designer.cs: * LocalizedText.fr.Designer.cs: traductions * IContentProvider.cs: doc xml * SiteSkills.aspx: renomage de cette page, pour préciser sa fonction : les compétences sur ce site.
186 lines
6.4 KiB
Plaintext
186 lines
6.4 KiB
Plaintext
<%@ Page Title="Profile_edition" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<ProfileEdition>" %>
|
|
|
|
<asp:Content ContentPlaceHolderID="init" ID="init1" runat="server">
|
|
<% Title = ViewData["UserName"] + " : " +Html.Translate("Profile_edition"); %>
|
|
</asp:Content>
|
|
|
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
|
<% if (Roles.IsUserInRole((string)ViewData ["UserName"],"Admin")) {
|
|
// TODO View all roles
|
|
%><aside>This user is Admin.</aside>
|
|
<% } %>
|
|
<aside>
|
|
<%= Html.TranslatedActionLink("Changer de mot de passe","ChangePassword", "Account",null, new { @class="actionlink" })%>
|
|
<%= Html.TranslatedActionLink("Désincription", "Unregister", "Account", new { id = ViewData["UserName"] } , new { @class="actionlink" })%>
|
|
</aside>
|
|
<aside>
|
|
<code>Compte bancaire:<%= Model.HasBankAccount %></code>
|
|
<% if (!Model.HasBankAccount) { %><span class="hint">
|
|
IBAN+BIC ou Codes banque, guichet, compte et clé RIB</span>
|
|
<% } %>, <code>Adressable:<%=Model.IsBillable%></code>
|
|
<% if (!Model.IsBillable) { %>
|
|
<span class="hint">un nom et au choix, une adresse postale valide,
|
|
ou un téléphone, ou un email, ou un Mobile</span> <% } %>
|
|
</aside>
|
|
|
|
<%= Html.ValidationSummary() %>
|
|
<% using(Html.BeginForm("Profile", "Account", FormMethod.Post, new { enctype = "multipart/form-data" })) %>
|
|
<% { %>
|
|
<%= Html.ValidationSummary() %>
|
|
<%= Html.Hidden("UserName",ViewData["ProfileUserName"]) %>
|
|
|
|
<fieldset class="mayhide"><legend>Informations publiques
|
|
<i>
|
|
<img src="<%=Url.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="avatar" class="avatar" />
|
|
<%=Html.Encode(Model.UserName)%> APE:<%=Model.MEACode%> <%=Model.WebSite%> </i></legend>
|
|
<span>
|
|
<%= Html.LabelFor(model => model.MEACode) %> :
|
|
<%= Html.DropDownList("MEACode") %>
|
|
<%= Html.ValidationMessage("MEACode", "*") %>
|
|
<br>
|
|
|
|
<%= Html.LabelFor(model => model.NewUserName) %> :
|
|
<%= Html.TextBox("NewUserName") %>
|
|
<%= Html.ValidationMessage("NewUserName", "*") %>
|
|
<br>
|
|
|
|
<%= Html.LabelFor(model => model.WebSite) %> :
|
|
<%= Html.TextBox("WebSite") %>
|
|
<%= Html.ValidationMessage("WebSite", "*") %>
|
|
<br>
|
|
|
|
Avatar :
|
|
<input type="file" id="AvatarFile" name="AvatarFile"/>
|
|
<%= Html.ValidationMessage("AvatarFile", "*") %>
|
|
|
|
</span>
|
|
</fieldset>
|
|
|
|
<fieldset class="mayhide"><legend>Informations administratives
|
|
<i><%= string.IsNullOrWhiteSpace(Model.Name)?"KO":Html.Encode(Model.Name) %>
|
|
</i>
|
|
</legend>
|
|
<span>
|
|
<%= Html.LabelFor(model => model.Name) %> :
|
|
<%= Html.TextBox("Name") %>
|
|
<%= Html.ValidationMessage("Name", "*") %></span>
|
|
</fieldset>
|
|
|
|
<fieldset class="mayhide"><legend>Blog <i><%=Html.Encode(Model.BlogTitle)%>
|
|
<%= Model.BlogVisible?null:Html.Translate("hidden") %>
|
|
</i></legend>
|
|
<div class="spanel">
|
|
<%= Html.LabelFor(model => model.BlogVisible) %> :
|
|
<%= Html.CheckBox("BlogVisible") %>
|
|
<%= Html.ValidationMessage("BlogVisible", "*") %>
|
|
</div><div class="spanel">
|
|
|
|
<%= Html.LabelFor(model => model.BlogTitle) %> :
|
|
<%= Html.TextBox("BlogTitle") %>
|
|
<%= Html.ValidationMessage("BlogTitle", "*") %>
|
|
</div>
|
|
</fieldset>
|
|
|
|
<fieldset class="mayhide"><legend>Contact
|
|
<i><%=Html.Encode(Model.Phone)%> <%=Html.Encode(Model.Mobile)%>
|
|
<%=Html.Encode(Model.HasPostalAddress?"adresse OK":"adresse KO")%></i>
|
|
</legend>
|
|
<div class="spanel">
|
|
<%= Html.LabelFor(model => model.Phone) %>
|
|
<%= Html.TextBox("Phone") %>
|
|
<%= Html.ValidationMessage("Phone", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.Mobile) %>
|
|
<%= Html.TextBox("Mobile") %>
|
|
<%= Html.ValidationMessage("Mobile", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.Address) %>
|
|
<%= Html.TextBox("Address") %>
|
|
<%= Html.ValidationMessage("Address", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.CityAndState) %>
|
|
<%= Html.TextBox("CityAndState") %>
|
|
<%= Html.ValidationMessage("CityAndState", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.ZipCode) %>
|
|
<%= Html.TextBox("ZipCode") %>
|
|
<%= Html.ValidationMessage("ZipCode", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.Country) %>
|
|
<%= Html.TextBox("Country") %>
|
|
<%= Html.ValidationMessage("Country", "*") %>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset class="mayhide"><legend>Profile préstataire</legend>
|
|
|
|
<fieldset class="mayhide"><legend>Disponibilité
|
|
<i><%=Html.Encode(
|
|
string.IsNullOrWhiteSpace(Model.GoogleCalendar)?"KO":"OK")%></i></legend>
|
|
<div class="spanel">
|
|
<%= Html.LabelFor(model => model.GoogleCalendar) %> :
|
|
|
|
<%= Html.Encode(Model.GoogleCalendar) %>
|
|
<%= Html.TranslatedActionLink("Choisir l'agenda","ChooseCalendar","Google",new { returnUrl= Request.Url.AbsolutePath }, new { @class="actionlink" }) %>
|
|
</div></fieldset>
|
|
<fieldset class="mayhide"><legend>Informations de facturation
|
|
<i> <%=Html.Encode(Model.HasBankAccount?"OK":"KO")%> </i>
|
|
</legend>
|
|
|
|
<p>Saisissez ici vos informations de facturation.</p>
|
|
|
|
<fieldset class="mayhide">
|
|
<legend>Par le numéro de compte</legend>
|
|
<div class="spanel">
|
|
<%= Html.LabelFor(model => model.BankCode) %> :
|
|
<%= Html.TextBox("BankCode") %>
|
|
<%= Html.ValidationMessage("BankCode", "*") %>
|
|
</div>
|
|
<div class="spanel">
|
|
<%= Html.LabelFor(model => model.WicketCode) %> :
|
|
<%= Html.TextBox("WicketCode") %>
|
|
<%= Html.ValidationMessage("WicketCode", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.AccountNumber) %> :
|
|
<%= Html.TextBox("AccountNumber") %>
|
|
<%= Html.ValidationMessage("AccountNumber", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.BankedKey) %> :
|
|
<%= Html.TextBox("BankedKey") %>
|
|
<%= Html.ValidationMessage("BankedKey", "*") %>
|
|
</div>
|
|
</fieldset>
|
|
<fieldset class="mayhide">
|
|
<legend>Par codes BIC et IBAN</legend>
|
|
<div class="spanel">
|
|
<%= Html.LabelFor(model => model.BIC) %> :
|
|
<%= Html.TextBox("BIC") %>
|
|
<%= Html.ValidationMessage("BIC", "*") %>
|
|
</div><div class="spanel">
|
|
<%= Html.LabelFor(model => model.IBAN) %> :
|
|
<%= Html.TextBox("IBAN") %>
|
|
<%= Html.ValidationMessage("IBAN", "*") %>
|
|
</div>
|
|
</fieldset>
|
|
</fieldset>
|
|
|
|
</fieldset>
|
|
|
|
<fieldset class="mayhide"><legend>Interface utilisateur
|
|
<i> <%=Html.Encode(Model.UITheme)%> </i>
|
|
</legend>
|
|
<span>
|
|
<%= Html.LabelFor(model => model.UITheme) %> :
|
|
<%= Html.TextBox("UITheme") %>
|
|
<%= Html.ValidationMessage("UITheme", "*") %></span>
|
|
|
|
</fieldset>
|
|
<input type="submit" id="submit" value="<%=Html.Translate("SubmitChanges")%>" />
|
|
<% } %>
|
|
<script>
|
|
$(document).ready(function(){
|
|
$('input').on('change',function(){$(this).addClass('dirty'); $('#submit').addClass('clickme');});
|
|
});
|
|
</script>
|
|
</asp:Content>
|
|
|