* BackOfficeController.cs: Impléménte un accès à l'API back office pour l'envoi d'une notification aux mobiles des cercles séléctionné de l'utilisateur * NotifyEvent.aspx: Implemente un formulaire d'envoi d'une notification mobile * NotifyEventResponse.aspx: initie une page de resultat à la notification mobile * NpgsqlContentProvider.cs: reccupère la photo activité en base de données * BlogsController.cs: En attendant mieux, les billets de blog sont noté par leur auteur, ou un admin. * CalendarController.cs: Les fontions de notification GCM et de declaration d'enregistrement GCM partent dans le controlleur back office. * activity.sql: ajoute la photo activité dans la definition du modèle de données Npgsql * style.css: La fonte de caractère "Open Sans" (Google fonts) pour le thème "clear" * style.css: La fonte de caractère "Open Sans" (Google fonts) pour le thème "dark" aussi * style.css: pas de fonte de caractère dans la feuille de style basique. * BackOfficeController.cs: Impléménte un accès web back office pour l'envoi d'une notification aux mobiles des cercles séléctionné de l'utilisateur * BlogsController.cs: Fixe la page de garde du blogspot en cas d'absence de billet à publier publiquement. * FrontOfficeController.cs: la fontion booking est maintenant censée conerner uniquement une activité, dont le code APE est donné en dernière partie de la route de l'Url, ou en argument `id`. * HomeController.cs: La page d'accueil présente maintenant les activités mises en oeuvre par au moins un utilisateur enregistré, validé et non vérouillé. Le titre de l'activité est un lien vers la methode de reservation simple. * GoogleHelpers.cs: recoit l'implementation de la methode de notification mobile * SimpleJsonPostMethod.cs: Fixe l'envoi en UTF-8 * App.master: fonte de caractère pour le lien vers "Vos billets" * parallax.js: fixe la différence de traitement entre l'horizontale et la verticale * Profile.aspx: ajoute le sommaire de la validation * Index.aspx: initie un index pour le back office * Activities.aspx: nettoye la console de log javascript * Booking.aspx: ajoute le champ caché au formulaire de resa * Index.aspx: affiche les services fournis sur le site, par des utilisateur enregistrés validés non bloqué. * Web.config: rends l'id Google d'enregistrement GCM accessible au utilisateurs anonymes, qui voudraient commander ou interagir avec l'application, sans avoir à créer de compte sur le site. * Web.csproj: ajoute le contrôleur du back office, et le formulaire de notification mobile * EventPub.cs: * BaseEvent.cs: internationalise l'évennement (la base d'une notification) * YaEvent.cs: les champs fournisseur d'une notification ne sont pas requis. On peut en avoir de la part du site lui même, qui ne soient pas à l'origine d'un evennement tiers du workflow. Dans tous les autres cas, ils devraient être renseignés ... à suivre. * Circle.cs: * CircleBase.cs: ajoute une methode de construition des destinataires à partir d'un tableau d'identifiants de cercles. * Activity.cs: implémente la photo activité dans le modèle * SimpleBookingQuery.cs: refabriqué * MessageWithPayLoad.cs: accuse aussi le champ `to` en cas d'absence de destinataire. * LocalizedText.resx: * LocalizedText.fr.resx: * LocalizedText.Designer.cs: * LocalizedText.fr.Designer.cs: internationalisation
96 lines
4.4 KiB
Text
96 lines
4.4 KiB
Text
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" EnableTheming="true"%>
|
|
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<% ViewState["orgtitle"] = Html.Translate(Page.Title); %>
|
|
<% Page.Title = ViewState["orgtitle"] + " - " + YavscHelpers.SiteName;
|
|
Page.Theme = (string) Profile.UITheme;
|
|
Page.StyleSheetTheme = (string) Profile.UITheme; %>
|
|
<asp:ContentPlaceHolder id="init" runat="server">
|
|
</asp:ContentPlaceHolder>
|
|
<head runat="server">
|
|
<meta charset="utf-8">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<%= Html.ThemeCSSLinks(Page.StyleSheetTheme,"style")%>
|
|
<link rel="stylesheet" href="<%=Url.Content("~/App_Themes/font-awesome.css")%>" />
|
|
<link rel="stylesheet" href="<%=Url.Content("~/App_Themes/jquery-ui.css")%>" />
|
|
<link rel="stylesheet" href="<%=Url.Content("~/App_Themes/prettify.css")%>" />
|
|
<link rel="stylesheet" href="<%=Url.Content("~/App_Themes/doxy.css")%>" />
|
|
<link rel="icon" type="image/png" href="/favicon.png?v=3" />
|
|
<script src="<%=Url.Content("~/Scripts/jquery-2.1.4.min.js")%>"></script>
|
|
<script src="<%=Url.Content("~/Scripts/jquery-ui-1.11.4.min.js")%>"></script>
|
|
<script src="<%=Url.Content("~/Scripts/parallax.js")%>"></script>
|
|
<script src="<%=Url.Content("~/Scripts/Prettify/run_prettify.js")%>"></script>
|
|
<script type="text/javascript">
|
|
var apiBaseUrl = '<%=Url.Content(Yavsc.WebApiConfig.UrlPrefixRelative)%>';
|
|
$(document).ready(function(){
|
|
$('[data-type="rate-bill"]').rate({target: 'Blogs/Rate'});
|
|
});
|
|
</script>
|
|
<%=Ajax.GlobalizationScript()%>
|
|
<script src="<%=Url.Content("~/Scripts/yavsc.js")%>"></script>
|
|
<script src="<%=Url.Content("~/Scripts/yavsc.tags.js")%>"></script>
|
|
<script src="<%=Url.Content("~/Scripts/yavsc.rate.js")%>"></script>
|
|
<asp:ContentPlaceHolder id="head" runat="server">
|
|
</asp:ContentPlaceHolder>
|
|
</head>
|
|
<body>
|
|
<header data-type="background" data-speed="8" >
|
|
<asp:ContentPlaceHolder ID="overHeaderOne" runat="server">
|
|
<h1><a href="<%= Url.RouteUrl("Default") %>">
|
|
<%=ViewState["orgtitle"]%></a>
|
|
- <a href="<%= Url.RouteUrl("Default", new {controller = "Home" , action = "Index" }) %>"><%= YavscHelpers.SiteName %></a>
|
|
</h1>
|
|
</asp:ContentPlaceHolder>
|
|
<asp:ContentPlaceHolder ID="header" runat="server"></asp:ContentPlaceHolder>
|
|
<div id="notifications"></div>
|
|
<% if (ViewData ["Notifications"]!=null) { %>
|
|
<script>
|
|
$(document).ready(function(){
|
|
<% foreach (Notification note in (IEnumerable<Notification>) ViewData ["Notifications"] ) {
|
|
if (note.click_action == null) {%> Yavsc.notice(<%=note.body%>); <% }
|
|
else {%> Yavsc.notice(<%=note.body%>, <%=note.click_action%>, <%=note.click_action_name%>); <% } %>
|
|
<% } %>
|
|
});
|
|
</script>
|
|
<% } %>
|
|
</header>
|
|
<nav data-type="background" data-speed="5">
|
|
<% if (Membership.GetUser()==null) { %>
|
|
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Login", returnUrl=Request.Url.PathAndQuery}) %>" class="menuitem" accesskey = "C">
|
|
<i class="fa fa-sign-in">Connexion</i>
|
|
</a>
|
|
<% } else { %>
|
|
<a href="<%=Url.RouteUrl("Blogs", new { user = HttpContext.Current.User.Identity.Name } )%>" accesskey = "B" class="menuitem fa" >
|
|
<img src="<%=Url.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="" class="iconsmall" />
|
|
Vos billets
|
|
</a>
|
|
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Profile", id = HttpContext.Current.User.Identity.Name} ) %>" accesskey="P" class="menuitem fa fa-user">
|
|
<%= HttpContext.Current.User.Identity.Name %>
|
|
<span class="hint"> Édition de votre profile </span>
|
|
</a>
|
|
<a href="/Blogs/Post" accesskey="P" class="menuitem fa fa-pencil">
|
|
<u>P</u>oster
|
|
<span class="hint">Édition d'un nouveau billet </span>
|
|
</a>
|
|
|
|
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Logout", returnUrl=Request.Url.PathAndQuery}) %>" accesskey = "C" class="menuitem fa fa-sign-out">
|
|
<%=Html.Translate("Logout")%></a>
|
|
<% } %>
|
|
</nav>
|
|
<main data-type="background" data-speed="10" data-emheight="10" data-posx="0" data-posy="22" >
|
|
<asp:ContentPlaceHolder ID="MainContent" runat="server">
|
|
</asp:ContentPlaceHolder>
|
|
</main>
|
|
<footer data-type="background" data-speed="5" >
|
|
|
|
<%= Html.ActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
|
|
|
|
<div id="copyr">
|
|
<a href="http://yavsc.pschneider.fr/Blogs/UserPost/paul/License">
|
|
<%=Html.Encode("© 2015 GNU GENERAL PUBLIC LICENSE")%> <i>Version 3, 29 June 2007</i></a>
|
|
</div>
|
|
|
|
</footer><div class="modal"></div>
|
|
</body>
|
|
</html>
|