une commande de coupe de cheveux

This commit is contained in:
Paul Schneider 2017-04-01 02:14:10 +02:00
commit c001994d50
38 changed files with 3137 additions and 196 deletions

View file

@ -3,7 +3,15 @@
@{ 
ViewBag.Title = SR["Administration"];
}
@section ctxmenu {
<ul class="nav navbar-nav">
<li><a asp-controller="Activity" asp-action="Index" class="navbar-link">Activités</a></li>
<li><a asp-controller="CommandForms" asp-action="Index" class="navbar-link">Formulaires</a></li>
<li><a asp-controller="Notifications" asp-action="Index" class="navbar-link">Notifications</a></li>
<li><a asp-controller="SIRENExceptions" asp-action="Index" class="navbar-link">Excéptions au numéro de SIREN</a>
</li>
</ul>
}
<h2>@ViewBag.Title</h2>
<p>
Rôles :
@ -19,4 +27,5 @@ Nombre d'administrateurs :
</p>
<p>
Vous êtes administrateur: @(Model.YouAreAdmin?"Oui":"Non")
</p>
</p>

View file

@ -14,6 +14,9 @@
<th>
@Html.DisplayNameFor(model => model.Title)
</th>
<th>
@Html.DisplayNameFor(model => model.Context)
</th>
<th>
@Html.DisplayNameFor(model => model.ActionName)
</th>
@ -21,10 +24,13 @@
</tr>
@foreach (var item in Model) {
<tr>
<tr class="@(item.Context.Hidden?"disabled":null)">
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
@Html.DisplayFor(modelItem => item.Context)
</td>
<td>
@Html.DisplayFor(modelItem => item.ActionName)
</td>

View file

@ -12,7 +12,7 @@
<a asp-controller="HairCutCommand" asp-action="HairCut"
asp-route-activityCode="@ViewBag.Activity.Code"
asp-route-performerId="@profile.Performer.Id"
class="btn btn-link">
class="btn btn-success">
@SR["Proposer un rendez-vous à"] @profile.Performer.UserName
</a>

View file

@ -3,16 +3,16 @@
var tarifs =
[
{ 
cut: [ @Model.WomenLongCutPrice, @Model.WomenHalfCutPrice, @Model.WomenShortCutPrice ],
cut: [ @Model.WomenHalfCutPrice, @Model.WomenShortCutPrice, @Model.WomenLongCutPrice ],
tech: [
[@Model.LongColorPrice, @Model.HalfColorPrice, @Model.ShortColorPrice],
[@Model.LongPermanentPrice, @Model.HalfPermanentPrice, @Model.ShortPermanentPrice],
[@Model.LongDefrisPrice, @Model.HalfDefrisPrice, @Model.ShortDefrisPrice],
[@Model.LongMechPrice, @Model.HalfMechPrice, @Model.ShortMechPrice],
[@Model.LongBalayagePrice, @Model.HalfBalayagePrice, @Model.ShortBalayagePrice],
[@Model.HalfColorPrice, @Model.ShortColorPrice, @Model.LongColorPrice],
[@Model.HalfPermanentPrice, @Model.ShortPermanentPrice, @Model.LongPermanentPrice],
[@Model.HalfDefrisPrice, @Model.ShortDefrisPrice, @Model.LongDefrisPrice],
[@Model.HalfMechPrice, @Model.ShortMechPrice, @Model.LongMechPrice],
[@Model.HalfBalayagePrice, @Model.ShortBalayagePrice, @Model.LongBalayagePrice],
],
brush: [@Model.LongBrushingPrice, @Model.HalfBrushingPrice, @Model.ShortBrushingPrice],
multicolor: [@Model.LongMultiColorPrice, @Model.HalfMultiColorPrice, @Model.ShortMultiColorPrice],
brush: [@Model.HalfBrushingPrice, @Model.ShortBrushingPrice, @Model.LongBrushingPrice],
multicolor: [@Model.HalfMultiColorPrice, @Model.ShortMultiColorPrice, @Model.LongMultiColorPrice],
shampoo: @Model.ShampooPrice,
care: @Model.CarePrice
},

View file

@ -6,11 +6,40 @@
<div class="form-horizontal">
<h4>@SR["Your book query"]</h4>
<hr />
<label for="EventDate">@SR["Event date"]</label>: @Html.DisplayFor(m => m.EventDate)
<br/>
<ul>
<li>
Votre star de la coiffure:
@Html.DisplayFor(m=>m.PerformerProfile)
</li>
<li>
@Html.DisplayFor(m=>m.Prestation)
<p>
Addition minimale
(Compter des frais supplémentaires
en cas de longs déplacements,
ou des majorations en cas de weekend et jour férie)
<span class="price"> @ViewBag.Addition </span></p>
</li>
<li>
@if (Model.EventDate == null) {
<p>Pas de date convenue ...</p>
} else {
<label for="EventDate">
@SR["Event date"]</label>
@Html.DisplayFor(m => m.EventDate)
}
</li>
<li>
<label for="Location">@SR["Location"]</label>: @Html.DisplayFor(m => m.Location)
<br/>
@if (Model.Location == null) {
<p>Pas de lieu convenu ...</p>
} else {
<label for="Location">@SR["Location"]</label>
@Html.DisplayFor(m => m.Location)
}
</li>
</ul>
@if (ViewBag.GooglePayload !=null)
{
@ -20,10 +49,10 @@
else {
if (ViewBag.GooglePayload.failure>0)
{
<h4>@SR["GCM Notification sending failed"]</h4>
<div class="error">@SR["GCM Notification sending failed"]</div>
}
else {
<!-- email sent -->
<div class="error">@SR["E-mail sent"]</div>
}
}
}

View file

@ -127,10 +127,10 @@
@Html.DisplayFor(m=>m.PerformerProfile)
<form asp-controller="HairCutCommand" asp-action="HairCut" id="form">
<form asp-controller="HairCutCommand" asp-action="CreateHairCutQuery" id="form">
<div class="form-horizontal">
<hr />
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<div asp-validation-summary="ValidationSummary.All" class="text-danger"></div>
<div class="form-group">
<label asp-for="Prestation.Gender" class="col-md-2 control-label"></label>
<div class="col-md-10">
@ -210,8 +210,9 @@
</div>
<span>Total: <span id="Total" class="total"></span>
</span>
<input type="submit" class="btn btn-success btn-submit" value="@SR["Validez ce choix, et prendre rendez-vous"] avec @Model.PerformerProfile.Performer.UserName, sans préciser ni lieu ni date (pour prendre rendez-vous la prise de contact)"/>
<input type="submit" class="btn btn-success btn-submit" value="@SR["Validez ce choix, et prendre rendez-vous"] avec @Model.PerformerProfile.Performer.UserName"/>
<input asp-for="ClientId" type="hidden" />
<input type="submit" class="btn btn-success btn-submit" value="@SR["Validez ce choix, et prendre rendez-vous"] avec @Model.PerformerProfile.Performer.UserName, sans préciser ni lieu ni date (pour prendre rendez-vous la prise de contact)"/>
<input type="submit" class="btn btn-success btn-submit" value="@SR["Validez ce choix, et prendre rendez-vous"] avec @Model.PerformerProfile.Performer.UserName"/>
</div>
<input type="hidden" name="performerId" value="@Model.PerformerProfile.PerformerId" />

View file

@ -66,24 +66,12 @@
@if (!ViewBag.IsFromSecureProx) {
<div class="alert alert-warning alert-dismissable">
<markdown>
# Alerte, alerte!
## Connexion non chiffrée ##
Votre connexion n'est **pas** sécurisée.
Un accés sécurisé est disponible, mais le certificat qui le chiffre n'est pas certifié
Un accés plus sécurisé est disponible, mais le certificat qui le chiffre n'est pas certifié
comme il se devrait ...
Pour l'utiliser, vous devrez ajouter une exception pour lui, et continuer votre navigation,
malgré ce défaut de sécurité (ce sera toujours mieux que sans chiffrement).
---------------
Ainsi va la vie ...
</markdown>
<p>
<a data-dismiss="alert" class="btn close ">J'ai compris, et je continue avec cette connexion.</a>
<a href="@ViewBag.SecureHomeUrl" class="btn close" >Lien vers le site sécurisé</a>
</p>
</div>
<a data-dismiss="alert" class="btn close ">J'ai compris, et je continue avec cette connexion.</a>
<a href="@ViewBag.SecureHomeUrl" class="btn alert-link" >Accès sécurisé</a>
</div>
}

View file

@ -1,4 +1,4 @@
@model Yavsc.ViewModels.Manage.AddBankInfoViewModel
@model Yavsc.Models.Bank.BankIdentity
@{
ViewData["Title"] = SR["Fill in your Bank Info"];
}
@ -12,43 +12,43 @@
<fieldset>
<div class="form-group">
<label asp-for="Data.BIC" class="col-md-2 control-label"></label>
<label asp-for="BIC" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Data.BIC" class="form-control" />
<span asp-validation-for="Data.BIC" class="text-danger"></span>
<input asp-for="BIC" class="form-control" />
<span asp-validation-for="BIC" class="text-danger"></span>
</div>
<label asp-for="Data.IBAN" class="col-md-2 control-label"></label>
<label asp-for="IBAN" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Data.IBAN" class="form-control" />
<span asp-validation-for="Data.IBAN" class="text-danger"></span>
<input asp-for="IBAN" class="form-control" />
<span asp-validation-for="IBAN" class="text-danger"></span>
</div>
</div>
</fieldset>
<fieldset>
<div class="form-group">
<label asp-for="Data.AccountNumber" class="col-md-2 control-label"></label>
<label asp-for="AccountNumber" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Data.AccountNumber" class="form-control" />
<span asp-validation-for="Data.AccountNumber" class="text-danger"></span>
<input asp-for="AccountNumber" class="form-control" />
<span asp-validation-for="AccountNumber" class="text-danger"></span>
</div>
<label asp-for="Data.BankCode" class="col-md-2 control-label"></label>
<label asp-for="BankCode" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Data.BankCode" class="form-control" />
<span asp-validation-for="Data.BankCode" class="text-danger"></span>
<input asp-for="BankCode" class="form-control" />
<span asp-validation-for="BankCode" class="text-danger"></span>
</div>
<label asp-for="Data.WicketCode" class="col-md-2 control-label"></label>
<label asp-for="WicketCode" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Data.WicketCode" class="form-control" />
<span asp-validation-for="Data.WicketCode" class="text-danger"></span>
<input asp-for="WicketCode" class="form-control" />
<span asp-validation-for="WicketCode" class="text-danger"></span>
</div>
<label asp-for="Data.BankedKey" class="col-md-2 control-label"></label>
<label asp-for="BankedKey" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Data.BankedKey" class="form-control" />
<span asp-validation-for="Data.BankedKey" class="text-danger"></span>
<input asp-for="BankedKey" class="form-control" />
<span asp-validation-for="BankedKey" class="text-danger"></span>
</div>
</div>

View file

@ -1,9 +1,6 @@
@model PerformerProfile
@{ ViewData["Title"] = SR["Your performer profile"]; }
@section header{
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial");
<script src="https://maps.googleapis.com/maps/api/js?key=@ViewBag.GoogleSettings.BrowserApiKey"></script>
}
@section header {
<style>
#map {
width: 100%;
@ -11,7 +8,8 @@
}
</style>
}
@section scripts{
@section scripts {
<script src="https://maps.googleapis.com/maps/api/js?key=@ViewBag.GoogleSettings.BrowserApiKey"></script>
<script>
$(document).ready(function(){
var config = {
@ -206,4 +204,8 @@
<form asp-controller="Manage" asp-action="UnsetActivity" method="post" class="form-horizontal" role="form">
@Html.Hidden("PerfomerId")
<button type="submit" class="btn btn-default">@SR["UnsetActivity"]</button>
</form>
</form>
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }

View file

@ -0,0 +1,50 @@
@model Location
<style>
#map {
width: 100%;
height: 250px;
}
</style>
<form asp-action="SetAddress">
<div asp-validation-summary="ValidationSummary.All" class="text-danger" id="ValidationSummary"></div>
<div class="form-group">
<label asp-for="Address" class="col-md-2 control-label">@SR["Address"]</label>
<div class="col-md-10">
<input asp-for="Address" class="form-control" type="text" />
<span id="AddressError" asp-validation-for="Address" class="text-danger"></span>
<ul id="LocationCombo" >
</ul>
<div id="map"></div>
</div>
</div>
<input type="submit" class="btn btn-success" value="Enregistrer" />
@Html.HiddenFor(model=>model.Latitude)
@Html.HiddenFor(model=>model.Longitude)
</form>
@{ await Html.RenderPartialAsync("_ValidationScriptsPartial"); }
@section scripts {
<script src="https://maps.googleapis.com/maps/api/js?key=@ViewBag.GoogleSettings.BrowserApiKey"></script>
<script src="~/js/google-geoloc.js" asp-append-version="true"></script>
<script >
$(document).ready(function(){
$.validator.setDefaults({
messages: {
remote: "Ce lieu n'est pas identifié par les services de géo-localisation Google",
required: "Veuillez renseigner ce champ"
}
});
$("#Address").googlegeocode()
})
</script>
}

View file

@ -0,0 +1,3 @@
<a href="https://twitter.com/intent/tweet?screen_name=TwitterDev"
class="twitter-mention-button" data-show-count="false">Tweet to @TwitterDev</a>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>

View file

@ -45,14 +45,7 @@
@RenderSection("header", required: false)
</head>
<body>
@if (ViewData ["Notify"] != null) {
foreach (Notification n in ViewData ["Notify"] as IEnumerable<Notification>) {
<div class="alert alert-info alert-dismissable">
<h1>@n.title</h1>@n.body
<a class="close" data-dismiss="alert" aria-label="close" onclick="notifClick(@n.Id)">@((n.click_action==null)?SR["Fermer"]:SR[n.click_action])</a>
</div>
}
}
<nav class="navbar navbar-inverse navbar-static-top" role="navigation">
<div class="container">
<div class="navbar-header">
@ -71,11 +64,25 @@
<li><a asp-controller="Home" asp-action="Chat" class="navbar-link">@SR["Chat"]</a></li>
<li><a asp-controller="Home" asp-action="Contact" class="navbar-link">@SR["Contact"]</a></li>
<li><a asp-controller="Home" asp-action="About" class="navbar-link">@SR["About"] @SiteSettings.Value.Title</a> </li>
@if (User.IsInRole(Constants.AdminGroupName)) {
<li><a asp-controller="Administration" asp-action="Index" class="navbar-link">Administration</a> </li>
}
</ul>
@RenderSection("ctxmenu", required: false)
@await Html.PartialAsync("_LoginPartial")
</div>
</div>
</nav>
@if (ViewData ["Notify"] != null) {
foreach (Notification n in ViewData ["Notify"] as IEnumerable<Notification>) {
<div class="alert alert-info alert-dismissable">
<h2 markdown="@n.title"></h2>
<a class="close" data-dismiss="alert" aria-label="close" onclick="notifClick(@n.Id)">@((n.click_action==null)?SR["Fermer"]:SR[n.click_action])</a>
<markdown>@n.body</markdown>
</div>
}
}
@RenderSection("subbanner", required: false)
<main class="container body-content" role="main">
@RenderBody()

View file

@ -2,7 +2,6 @@
<script src="~/lib/jquery-validation/jquery.validate.js"></script>
<script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"></script>
</environment>
<script src="~/js/jquery-ui.js" ></script>
<script src="~/lib/jquery-validation/additional-methods.js" charset="UTF-8"></script>
<environment names="Staging,Production,yavsc,yavscpre,zicmoove,lua">
<script src="https://ajax.aspnetcdn.com/ajax/jquery.validate/1.14.0/jquery.validate.min.js"