2019-01-01 16:28:47 +00:00
|
|
|
@model Yavsc.Models.Haircut.BrusherProfile
|
|
|
|
|
|
|
|
|
|
@{
|
2026-06-04 12:13:37 +01:00
|
|
|
ViewBag.Title = "Edition du profile coiffeu(se|r)";
|
2019-01-01 16:28:47 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@section header {
|
refac: separate front assets into esbuild bundles
Sort ~50 Mo de libs tierces hors du repo et regroupe le code
front en 6 bundles thématiques + 2 assets statiques.
Bundles produits par esbuild :
- core.bundle.min.js : jQuery + jQuery UI + Bootstrap 4 + validation
+ tout le code applicatif 'core'
(site, signout, signin, input-lib, md-helpers,
audiovideoinput, parallax, google.geocode,
google-geoloc). Chargé par _Layout.cshtml.
- chat.bundle.min.js : core subset (sans Bootstrap) + chat.js + comment.js
(SignalR client chargé séparément, voir plus bas)
- dropzone.bundle.min.js : jQuery + dropzone + yavsc-remote-fs
- datetime.bundle.min.js : jQuery + jQuery UI + eonasdan datetimepicker
+ jquery-timepicker
- timepicker.bundle.min.js : jQuery + jQuery UI + jquery-timepicker
- quill.bundle.min.js : Quill rich text editor
Assets statiques (non bundlés, copiés depuis node_modules) :
- signalr.min.js : client SignalR 2.x (legacy server)
- moment-with-locales.min.js : moment + 137 locales (require dynamique
non résolvable statiquement par esbuild)
CSS vendor copiées comme assets statiques vers wwwroot/css/ :
bootstrap.min.css, jquery-ui.min.css, dropzone.min.css,
dropzone-basic.min.css, bootstrap-datetimepicker.min.css,
jquery.timepicker.css
Exception gitignore : jonthornton-Datepair/jquery.datepair.min.js
n'est pas sur npm, conservé comme asset statique sous
wwwroot/lib/jonthornton-Datepair/ (téléchargé depuis upstream).
Vues Razor mises à jour (15 fichiers) pour pointer vers les bundles
et les CSS vendor. Suppression de la majorité de wwwroot/lib/ (1300+
fichiers). Suppression des jquery*.js, quill.js, showdown.js,
to-markdown.js, jquery.signalR-2.2.1.js, dropzone.js et de leurs
.min.js associés.
'jquery-datepair' et 'jquery-ui-map' non publiés sur npm :
- jquery-ui-map n'est utilisé nulle part dans le repo (vérifié),
la dépendance est purement historique.
- datepair reste en static sous wwwroot/lib/jonthornton-Datepair/.
2026-06-14 14:11:33 +01:00
|
|
|
<link rel="stylesheet" href="~/css/jquery.timepicker.css" asp-append-version="true"/>
|
2019-01-01 16:28:47 +00:00
|
|
|
}
|
|
|
|
|
@section scripts {
|
refac: separate front assets into esbuild bundles
Sort ~50 Mo de libs tierces hors du repo et regroupe le code
front en 6 bundles thématiques + 2 assets statiques.
Bundles produits par esbuild :
- core.bundle.min.js : jQuery + jQuery UI + Bootstrap 4 + validation
+ tout le code applicatif 'core'
(site, signout, signin, input-lib, md-helpers,
audiovideoinput, parallax, google.geocode,
google-geoloc). Chargé par _Layout.cshtml.
- chat.bundle.min.js : core subset (sans Bootstrap) + chat.js + comment.js
(SignalR client chargé séparément, voir plus bas)
- dropzone.bundle.min.js : jQuery + dropzone + yavsc-remote-fs
- datetime.bundle.min.js : jQuery + jQuery UI + eonasdan datetimepicker
+ jquery-timepicker
- timepicker.bundle.min.js : jQuery + jQuery UI + jquery-timepicker
- quill.bundle.min.js : Quill rich text editor
Assets statiques (non bundlés, copiés depuis node_modules) :
- signalr.min.js : client SignalR 2.x (legacy server)
- moment-with-locales.min.js : moment + 137 locales (require dynamique
non résolvable statiquement par esbuild)
CSS vendor copiées comme assets statiques vers wwwroot/css/ :
bootstrap.min.css, jquery-ui.min.css, dropzone.min.css,
dropzone-basic.min.css, bootstrap-datetimepicker.min.css,
jquery.timepicker.css
Exception gitignore : jonthornton-Datepair/jquery.datepair.min.js
n'est pas sur npm, conservé comme asset statique sous
wwwroot/lib/jonthornton-Datepair/ (téléchargé depuis upstream).
Vues Razor mises à jour (15 fichiers) pour pointer vers les bundles
et les CSS vendor. Suppression de la majorité de wwwroot/lib/ (1300+
fichiers). Suppression des jquery*.js, quill.js, showdown.js,
to-markdown.js, jquery.signalR-2.2.1.js, dropzone.js et de leurs
.min.js associés.
'jquery-datepair' et 'jquery-ui-map' non publiés sur npm :
- jquery-ui-map n'est utilisé nulle part dans le repo (vérifié),
la dépendance est purement historique.
- datepair reste en static sous wwwroot/lib/jonthornton-Datepair/.
2026-06-14 14:11:33 +01:00
|
|
|
<script src="~/js/timepicker.bundle.min.js" asp-append-version="true"></script>
|
|
|
|
|
@* datepair is loaded as a static asset (not on npm) *@
|
2019-01-01 16:28:47 +00:00
|
|
|
<script src="~/lib/jonthornton-Datepair/jquery.datepair.min.js"></script>
|
|
|
|
|
<script>
|
|
|
|
|
$(document).ready(function(){
|
|
|
|
|
$('.timepicker').timepicker();
|
|
|
|
|
$('#datepair').datepair();
|
|
|
|
|
})
|
|
|
|
|
</script>
|
|
|
|
|
}
|
|
|
|
|
|
2026-06-04 12:13:37 +01:00
|
|
|
<h1>@ViewBag.Title</h1>
|
2019-01-01 16:28:47 +00:00
|
|
|
|
|
|
|
|
<form asp-action="Edit">
|
|
|
|
|
<div class="form-horizontal">
|
|
|
|
|
<hr />
|
|
|
|
|
@Html.ValidationSummary()
|
|
|
|
|
|
|
|
|
|
<fieldset><legend>Disponibilité</legend>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ActionDistance" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ActionDistance" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ActionDistance" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</fieldset>
|
|
|
|
|
|
|
|
|
|
<fieldset><legend>Grille tarifaire</legend>
|
|
|
|
|
<h2>Divers</h2>
|
2023-03-20 09:13:16 +00:00
|
|
|
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
|
2019-01-01 16:28:47 +00:00
|
|
|
<input type="hidden" asp-for="UserId" />
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="CarePrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="CarePrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="CarePrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShampooPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShampooPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShampooPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<h2>Techniques</h2>
|
|
|
|
|
<h3>Couleurs</h3>
|
|
|
|
|
|
|
|
|
|
<h4>Simple</h4>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfColorPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfColorPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfColorPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongColorPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongColorPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongColorPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortColorPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortColorPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortColorPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h4>Multi-couleur</h4>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfMultiColorPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfMultiColorPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfMultiColorPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongMultiColorPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongMultiColorPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongMultiColorPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortMultiColorPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortMultiColorPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortMultiColorPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h3>Balayage</h3>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfBalayagePrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfBalayagePrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfBalayagePrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongBalayagePrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongBalayagePrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongBalayagePrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortBalayagePrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortBalayagePrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortBalayagePrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<h2>Coiffage</h2>
|
|
|
|
|
<h3>Brushing</h3>
|
|
|
|
|
<h4>Pour la femme</h4>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfBrushingPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfBrushingPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfBrushingPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongBrushingPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongBrushingPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongBrushingPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortBrushingPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortBrushingPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortBrushingPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<h4>Pour l'homme</h4>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ManBrushPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ManBrushPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ManBrushPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h3>Mise en plis</h3>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfFoldingPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfFoldingPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfFoldingPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongFoldingPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongFoldingPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongFoldingPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortFoldingPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortFoldingPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortFoldingPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h3>Défrisage</h3>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfDefrisPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfDefrisPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfDefrisPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongDefrisPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongDefrisPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongDefrisPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortDefrisPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortDefrisPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortDefrisPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Mèches</h3>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfMechPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfMechPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfMechPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongMechPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongMechPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongMechPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortMechPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortMechPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortMechPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Permanentes</h3>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="HalfPermanentPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="HalfPermanentPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="HalfPermanentPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="LongPermanentPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="LongPermanentPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="LongPermanentPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ShortPermanentPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ShortPermanentPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ShortPermanentPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<h2>Coupes</h2>
|
|
|
|
|
<h3>Femme</h3>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="WomenHalfCutPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="WomenHalfCutPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="WomenHalfCutPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="WomenLongCutPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="WomenLongCutPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="WomenLongCutPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="WomenShortCutPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="WomenShortCutPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="WomenShortCutPrice" class="text-danger"></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<h3>Homme et enfant</h3>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="KidCutPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="KidCutPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="KidCutPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="ManCutPrice" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="ManCutPrice" class="form-control" />
|
|
|
|
|
<span asp-validation-for="ManCutPrice" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
<h2>Le forfait</h2>
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<label asp-for="FlatFeeDiscount" class="col-md-2 control-label"></label>
|
|
|
|
|
<div class="col-md-10">
|
|
|
|
|
<input asp-for="FlatFeeDiscount" class="form-control" />
|
|
|
|
|
<span asp-validation-for="FlatFeeDiscount" class="text-danger" ></span>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="form-group">
|
|
|
|
|
<div class="col-md-offset-2 col-md-10">
|
2025-07-12 19:00:30 +01:00
|
|
|
<input type="submit" value="Save" class="btn btn-primary" />
|
2019-01-01 16:28:47 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</fieldset>
|
|
|
|
|
</div>
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
<a asp-action="Index">Annuler</a>
|
|
|
|
|
</div>
|
|
|
|
|
|