Thème clair opé, WIP circles
* 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.
This commit is contained in:
parent
c23b737144
commit
d999ae5a8e
82 changed files with 4856 additions and 594 deletions
|
|
@ -13,28 +13,37 @@
|
|||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||
|
||||
<aside>
|
||||
Id:<%= Html.ActionLink( Model.Id.ToString() , "UserPost", new { user= Model.Author, title=Model.Title, id = Model.Id }, new { @class = "usertitleref actionlink" }) %>
|
||||
Id:<%= Html.TranslatedActionLink( Model.Id.ToString() , "UserPost", new { user= Model.Author, title=Model.Title, id = Model.Id }, new { @class = "usertitleref actionlink" }) %>
|
||||
, Posted: <%= Model.Posted.ToString("yyyy/MM/dd") %> - Modified: <%= Model.Modified.ToString("yyyy/MM/dd") %>
|
||||
Visible: <%= Model.Visible? "oui":"non" %> <%= Html.ActionLink("Supprimer","RemovePost", new { user=Model.Author, title = Model.Title, id = Model.Id }, new { @class="actionlink" } ) %>
|
||||
Visible: <%= Model.Visible? "oui":"non" %> <%= Html.TranslatedActionLink("Supprimer","RemovePost", new { user=Model.Author, title = Model.Title, postid = Model.Id }, new { @class="actionlink" } ) %>
|
||||
</aside>
|
||||
|
||||
<aside>
|
||||
|
||||
<% using(Html.BeginForm("Edit","Blogs")) { %>
|
||||
<fieldset>
|
||||
<legend>Contrôle d'accès au Billet</legend>
|
||||
<%= Html.LabelFor(model => model.Visible) %> : <%= Html.CheckBox( "Visible" ) %>
|
||||
<i id="note_visible">Note: Si un ou plusieurs cercles sont séléctionnés ici,
|
||||
le billet ne sera visible qu'aux membres de ces cercles.</i>
|
||||
<%= Html.ValidationMessage("Visible", "*") %>
|
||||
<%= Html.LabelFor(model => model.AllowedCircles) %>
|
||||
|
||||
<fieldset class="mayhide">
|
||||
<legend>Attacher des fichiers</legend>
|
||||
<input type="file" name="attached" id="postedfile" multiple>
|
||||
<input type="button" value="attacher les ficher" onclick="submitFile()">
|
||||
<input type="button" value="importer les documents" onclick="submitImport()">
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="mayhide">
|
||||
<legend><i class="fa fa-lock"></i> <%= Html.Translate("BillAccessControl") %></legend>
|
||||
<label for="Visible"><i class="fa fa-eye"></i></label> : <%= Html.CheckBox( "Visible" ) %>
|
||||
<%= Html.ValidationMessage("Visible", "*") %> <br>
|
||||
|
||||
<label for="AllowedCircles"> <i class="fa fa-users"></i> <%= Html.Translate("AllowedCircles") %>
|
||||
</label>
|
||||
<i class="hint">Note: Si un ou plusieurs cercles sont séléctionnés ici,
|
||||
le billet ne sera visible qu'aux membres de ces cercles.</i><br>
|
||||
|
||||
<%= Html.ListBox("AllowedCircles") %>
|
||||
<%= Html.ValidationMessage("AllowedCircles", "*") %>
|
||||
</fieldset>
|
||||
<span id="viewsource">
|
||||
<i class="fa fa-code menuitem"><%=Html.Translate("View_source")%></i></span>
|
||||
<span id="hidesource" class="hidden">
|
||||
<i class="fa fa-code menuitem"><%=Html.Translate("Hide_source")%></i>
|
||||
</span>
|
||||
<fieldset id="source" class="hidden">
|
||||
<fieldset class="mayhide">
|
||||
<legend><i class="fa fa-code"></i><%=Html.Translate("BillSourceCode")%></legend>
|
||||
<%=Html.Hidden("Author")%>
|
||||
<%=Html.Hidden("Id")%>
|
||||
<%= Html.LabelFor(model => model.Photo) %>
|
||||
|
|
@ -46,17 +55,11 @@ Visible: <%= Model.Visible? "oui":"non" %> <%= Html.ActionLink("Supprimer","Remo
|
|||
<%=Html.TextArea("Content")%>
|
||||
<%=Html.ValidationMessage("Content")%>
|
||||
</fieldset>
|
||||
<input type="submit" id="validate" value="Valider" class="fa fa-check menuitem">
|
||||
<input type="submit" id="validate" class="actionlink">
|
||||
|
||||
<% } %>
|
||||
|
||||
<form id="frmajax">
|
||||
<fieldset>
|
||||
<legend>Attacher des fichiers</legend>
|
||||
<input type="file" name="attached" id="postedfile" multiple>
|
||||
<input type="button" value="attacher les ficher" onclick="submitFile()">
|
||||
<input type="button" value="importer les documents" onclick="submitImport()">
|
||||
</fieldset>
|
||||
</form>
|
||||
</aside>
|
||||
|
||||
<span class="placard editable" for="Photo">
|
||||
<img src="<%=Model.Photo%>" alt="photo" id="vphoto" >
|
||||
|
|
@ -75,17 +78,6 @@ Visible: <%= Model.Visible? "oui":"non" %> <%= Html.ActionLink("Supprimer","Remo
|
|||
|
||||
$(document).ready(function(){
|
||||
|
||||
$('#hidesource').click(function(){
|
||||
$('#source').addClass('hidden');
|
||||
$('#viewsource').removeClass('hidden');
|
||||
$('#hidesource').addClass('hidden');
|
||||
});
|
||||
$('#viewsource').click(function(){
|
||||
$('#source').removeClass('hidden');
|
||||
$('#viewsource').addClass('hidden');
|
||||
$('#hidesource').removeClass('hidden');
|
||||
});
|
||||
|
||||
jQuery('.placard').hallo({plugins: {'hallo-image-insert-edit': { lang: 'fr' } } });
|
||||
|
||||
jQuery('#vtitle').hallo({
|
||||
|
|
@ -125,7 +117,7 @@ jQuery('#vcontent').hallo({
|
|||
'tr',
|
||||
'td',
|
||||
'th',
|
||||
'style'
|
||||
'style',
|
||||
]
|
||||
},
|
||||
'halloblacklist': {tags: ['style']},
|
||||
|
|
@ -238,6 +230,12 @@ var data = new FormData($('#frmajax').get()[0]);
|
|||
</script>
|
||||
|
||||
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
||||
$('input').on('change',function(){$(this).addClass('dirty'); $('#validate').addClass('clickme');});
|
||||
});
|
||||
</script>
|
||||
|
||||
|
||||
</asp:Content>
|
||||
|
|
@ -1,19 +1,21 @@
|
|||
<%@ Page Title="Articles" Language="C#" Inherits="System.Web.Mvc.ViewPage<BlogEntryCollection>" MasterPageFile="~/Models/App.master" EnableTheming="True" StylesheetTheme="dark" %>
|
||||
<%@ Page Title="Blogs" Language="C#" Inherits="System.Web.Mvc.ViewPage<BlogEntryCollection>" MasterPageFile="~/Models/App.master" EnableTheming="True" StylesheetTheme="dark" %>
|
||||
<%@ Register Assembly="Yavsc.WebControls" TagPrefix="yavsc" Namespace="Yavsc.WebControls" %>
|
||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||
|
||||
<div>
|
||||
<% foreach (var g in Model.GroupByTitle()) { %>
|
||||
<div class="panel">
|
||||
<div class="postpreview panel">
|
||||
<h2><a href="<%= Url.RouteUrl("Titles", new { title = g.Key }) %>" class="usertitleref"><%=Html.Encode(g.Key)%></a></h2>
|
||||
<% foreach (var p in g) { %>
|
||||
<div class="postpreview">
|
||||
<div>
|
||||
<% if (p.Photo != null ) { %>
|
||||
<img src="<%=p.Photo%>" alt="<%=p.Photo%>" class="photo">
|
||||
<% } %>
|
||||
<p><%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %></p>
|
||||
<%= Html.Partial("PostActions",p)%>
|
||||
</div> <% } %>
|
||||
<% } else {} %>
|
||||
<%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %>
|
||||
<%= Html.Partial("PostActions",p) %>
|
||||
</div><% // we only show the first. It's a preview
|
||||
break;
|
||||
} %>
|
||||
</div>
|
||||
<% } %>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -1,23 +1,23 @@
|
|||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BasePost>" %>
|
||||
<% if (Membership.GetUser()!=null) { %>
|
||||
<aside>
|
||||
(<%= Model.Posted.ToString("D") %>
|
||||
- <%= Model.Modified.ToString("D") %> <%= Model.Visible? "":", Invisible!" %>)
|
||||
(<%= Html.Translate("Posted") %> <%= Model.Posted.ToString("D") %>
|
||||
- <%= Html.Translate("Edited") %> <%= Model.Modified.ToString("D") %> <%= Model.Visible? "":", Invisible!" %>)
|
||||
<%= Html.Partial("RateControl",Model)%>
|
||||
<%
|
||||
if (Membership.GetUser().UserName==Model.Author || Roles.IsUserInRole("Admin"))
|
||||
{ %>
|
||||
<%= Html.Partial("TagControl",Model)%>
|
||||
<% if (Model is BlogEntry) { %>
|
||||
<i class="fa fa-pencil"><%=Html.Translate("DoComment")%></i>
|
||||
<% using (Html.BeginForm("Comment","Blogs")) { %>
|
||||
<filedset>
|
||||
<%=Html.Hidden("Author")%>
|
||||
<fieldset>
|
||||
<legend><i class="fa fa-pencil"></i><%=Html.Translate("DoComment")%></legend>
|
||||
<div> <%=Html.Hidden("Author")%>
|
||||
<%=Html.Hidden("Title")%>
|
||||
<%=Html.TextArea("CommentText","")%>
|
||||
<%=Html.Hidden("PostId",Model.Id)%>
|
||||
<input type="submit" value="Poster un commentaire"/>
|
||||
</filedset> <% } %>
|
||||
<input type="submit" value="Poster un commentaire"/></div>
|
||||
</fieldset> <% } %>
|
||||
<% } %>
|
||||
<a href="<%= Url.RouteUrl("Default", new { action = "EditId", postid = Model.Id })%>" class="actionlink">
|
||||
<i class="fa fa-pencil"><%=Html.Translate("Edit")%></i>
|
||||
|
|
|
|||
|
|
@ -2,28 +2,23 @@
|
|||
<ul id="tags<%=Model.Id%>" data-postid="<%=Model.Id%>" class="editablelist ">
|
||||
<% if (Model.Tags != null) {
|
||||
foreach ( var tagname in Model.Tags) { %>
|
||||
<li class="tagname fa fa-tag"><%=tagname%></li> <%
|
||||
<li><i class="fa fa-tag"></i><%=tagname%></li><%
|
||||
%><% } } %>
|
||||
</ul>
|
||||
<% if (Membership.GetUser()!=null) { %>
|
||||
<% if (Membership.GetUser().UserName==Model.Author || Roles.IsUserInRole("Admin"))
|
||||
{ // grant all permissions: to choose a given set of tags, also create some new tags %>
|
||||
|
||||
<span id="viewtagger<%=Model.Id%>">
|
||||
<i class="fa fa-tag menuitem" id="viewtaggerbtn<%=Model.Id%>"><%=Html.Translate("DoTag")%></i></span>
|
||||
<span id="hidetagger<%=Model.Id%>" class="hidden">
|
||||
<i class="fa fa-tag menuitem" id="hidetaggerbtn<%=Model.Id%>" ><%=Html.Translate("Tags")%> - <%=Html.Translate("Hide")%></i>
|
||||
Note: Ils sont utilisé pour classifier le document. Par exemple, le tag <code>Accueil</code> rend le document
|
||||
éligible à une place en page d'Accueil.
|
||||
</span>
|
||||
<form id="tagger<%=Model.Id%>" class="maskable" data-btn-show="viewtagger<%=Model.Id%>" data-btn-hide="hidetagger<%=Model.Id%>" >
|
||||
<form id="tagger<%=Model.Id%>">
|
||||
<fieldset>
|
||||
<legend>Associer des tags au billet</legend>
|
||||
<legend><i class="fa fa-tags"></i> <%=Html.Translate("DoTag")%></legend>
|
||||
<div>
|
||||
<label for="newtag"><%= Html.Translate("Tag_name")%>: </label>
|
||||
<span id="Err_tag<%=Model.Id%>" class="error"></span>
|
||||
<input type="text" id="newtag<%=Model.Id%>" class="taginput">
|
||||
<span id="Err_model<%=Model.Id%>" class="error"></span>
|
||||
<input id="sendnewtag<%=Model.Id%>" type="submit" class="submittag fa fa-tag" value="<%=Html.Translate("Submit")%>">
|
||||
<input id="sendnewtag<%=Model.Id%>" type="submit" class="link fa fa-tag" value="<%=Html.Translate("Submit")%>">
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
<script>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<asp:Content ContentPlaceHolderID="overHeaderOne" ID="header1" runat="server">
|
||||
<h1>
|
||||
<%=Html.ActionLink(Model.Title, "Title", new{title=Model.Title}, null)%>
|
||||
<%=Html.TranslatedActionLink(Model.Title, "Title", new{title=Model.Title}, null)%>
|
||||
- <a href="<%= Url.RouteUrl("Default",new {controller="Home" }) %>"><%= YavscHelpers.SiteName %></a>
|
||||
</h1>
|
||||
</asp:Content>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<BlogEntryCollection>" MasterPageFile="~/Models/App.master"%>
|
||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||
Pas d'article trouvé ici: <<%= Html.Encode(ViewData["BlogUser"]) %>/<%= Html.Encode(ViewData["PostTitle"]) %>>
|
||||
<br/> <%= Html.ActionLink("Poster?","Post/", new { user = ViewData["BlogUser"], title = ViewData["PostTitle"]}, new { @class="actionlink" }) %>
|
||||
<br/> <%= Html.TranslatedActionLink("Poster?","Post/", new { user = ViewData["BlogUser"], title = ViewData["PostTitle"]}, new { @class="actionlink" }) %>
|
||||
</asp:Content>
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@
|
|||
<a href="<%= Url.RouteUrl("BlogByTitle", new{ user=Model.Author, title = Model.Title}) %>">
|
||||
<%=Model.Title%>
|
||||
</a>
|
||||
- <%= Html.ActionLink((string)ViewData ["BlogTitle"] ,"UserPosts",new{user=Model.Author}, null) %>
|
||||
- <%= Html.TranslatedActionLink((string)ViewData ["BlogTitle"] ,"UserPosts",new{user=Model.Author}, null) %>
|
||||
-
|
||||
<a href="<%=Url.Content("~/")%>"><%= YavscHelpers.SiteName %></a>
|
||||
</h1>
|
||||
|
|
@ -34,7 +34,7 @@
|
|||
<img class="avatar" src="<%= Url.RouteUrl("Default", new { action="Avatar", controller="Account", user = c.From } ) %>" alt="<%=c.From%>"/>
|
||||
<%= Html.Markdown(c.CommentText) %>
|
||||
<% if (Model.Author == username || c.From == username ) { %>
|
||||
<%= Html.ActionLink("Supprimer","RemoveComment", new { cmtid = c.Id } , new { @class="actionlink" })%>
|
||||
<%= Html.TranslatedActionLink("Supprimer","RemoveComment", new { cmtid = c.Id } , new { @class="actionlink" })%>
|
||||
<% } %>
|
||||
</div><% } %>
|
||||
</div><% } %>
|
||||
|
|
|
|||
|
|
@ -22,15 +22,18 @@
|
|||
|
||||
<% foreach (var g in Model.GroupByTitle()) { %>
|
||||
<div class="panel">
|
||||
<h2><a href="<%= Url.RouteUrl("Titles", new { title = g.Key }) %>" class="usertitleref"><%=Html.Encode(g.Key)%></a></h2>
|
||||
<% foreach (var p in g) { %>
|
||||
<% foreach (var p in g) { %>
|
||||
<div class="postpreview">
|
||||
<a href="<%= Url.RouteUrl("Titles", new { title = g.Key}) %>" >
|
||||
<% if (p.Photo!=null) { %>
|
||||
<img src="<%=p.Photo%>" alt="photo" class="photo"><% } %>
|
||||
<%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %>
|
||||
<%= Html.Partial("PostActions",p)%>
|
||||
</div> <% } %>
|
||||
<img src="<%=p.Photo%>" alt="<%=g.Key%>" >
|
||||
<% } else { %>
|
||||
<%} %><%=Html.Encode(g.Key)%></a>
|
||||
<div>
|
||||
<%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %>
|
||||
<%= Html.Partial("PostActions",p)%></div>
|
||||
</div> <% break; } %>
|
||||
</div>
|
||||
<% } %>
|
||||
<%= Html.RenderPageLinks((int)ViewData["PageIndex"],(int)ViewData["PageSize"],(int)ViewData["ResultCount"])%>
|
||||
<%= Html.RenderPageLinks((int) ViewData["PageIndex"],(int)ViewData["PageSize"],(int)ViewData["ResultCount"])%>
|
||||
</asp:Content>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue