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:
@ -1,3 +1,7 @@
|
|||||||
|
2015-12-09 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
|
* README.md: mise à jour des priorités
|
||||||
|
|
||||||
2015-12-01 Paul Schneider <paul@pschneider.fr>
|
2015-12-01 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
* README.md: mise à jour priorités
|
* README.md: mise à jour priorités
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2015-12-09 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
|
* NpgsqlBlogProvider.cs: Corrige la méthode pour enlever un
|
||||||
|
tag à un article ...
|
||||||
|
|
||||||
|
* NpgsqlBlogProvider.csproj: .
|
||||||
|
|
||||||
2015-11-30 Paul Schneider <paul@pschneider.fr>
|
2015-11-30 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
* NpgsqlBlogProvider.cs: implémente le compteur de billet en
|
* NpgsqlBlogProvider.cs: implémente le compteur de billet en
|
||||||
|
@ -20,7 +20,11 @@ namespace Npgsql.Web.Blog
|
|||||||
string connectionString;
|
string connectionString;
|
||||||
|
|
||||||
#region implemented abstract members of BlogProvider
|
#region implemented abstract members of BlogProvider
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the public post count.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The public post count.</returns>
|
||||||
|
/// <param name="bloggerName">Blogger name.</param>
|
||||||
public override long GetPublicPostCount (string bloggerName)
|
public override long GetPublicPostCount (string bloggerName)
|
||||||
{
|
{
|
||||||
long result = -1;
|
long result = -1;
|
||||||
@ -100,7 +104,14 @@ AND b.applicationname = :app
|
|||||||
/// <param name="name">Name.</param>
|
/// <param name="name">Name.</param>
|
||||||
override public void Untag (long postid, string name)
|
override public void Untag (long postid, string name)
|
||||||
{
|
{
|
||||||
Untag (postid, GetTagId (name));
|
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString))
|
||||||
|
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
|
||||||
|
cmd.CommandText = "DELETE FROM tagged WHERE tagged.postid = :pid AND tagged.tagid = (select tag._id FROM tag WHERE tag.name = :tnm)";
|
||||||
|
cmd.Parameters.AddWithValue ("pid", postid);
|
||||||
|
cmd.Parameters.AddWithValue ("tnm", name);
|
||||||
|
cnx.Open ();
|
||||||
|
cmd.ExecuteNonQuery ();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -472,15 +483,19 @@ AND b.applicationname = :app
|
|||||||
|
|
||||||
private long GetTagId (string tagname)
|
private long GetTagId (string tagname)
|
||||||
{
|
{
|
||||||
|
// FIXME null pointer at cmd.ExecuteScalar!
|
||||||
if (tagname == null)
|
if (tagname == null)
|
||||||
throw new NullReferenceException ("This tag name is null");
|
throw new NullReferenceException ("This tag name is null");
|
||||||
long id = 0;
|
long id = 0;
|
||||||
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString))
|
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString)) {
|
||||||
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
|
|
||||||
cmd.CommandText = "SELECT tag._id FROM public.tag WHERE name = :name";
|
|
||||||
cmd.Parameters.AddWithValue ("name", tagname);
|
|
||||||
cnx.Open ();
|
cnx.Open ();
|
||||||
id = (long)cmd.ExecuteScalar ();
|
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
|
||||||
|
cmd.CommandText = "SELECT _id FROM tag WHERE name LIKE :tn";
|
||||||
|
cmd.Parameters.AddWithValue ("tn",NpgsqlDbType.Varchar, tagname);
|
||||||
|
id = (long) cmd.ExecuteScalar ();
|
||||||
|
}
|
||||||
|
cnx.Close ();
|
||||||
}
|
}
|
||||||
return id;
|
return id;
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
<OutputType>Library</OutputType>
|
<OutputType>Library</OutputType>
|
||||||
<RootNamespace>Npgsql.Web.Blog</RootNamespace>
|
<RootNamespace>Npgsql.Web.Blog</RootNamespace>
|
||||||
<AssemblyName>NpgsqlBlogProvider</AssemblyName>
|
<AssemblyName>NpgsqlBlogProvider</AssemblyName>
|
||||||
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
||||||
<DebugSymbols>true</DebugSymbols>
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
@ -1,3 +1,11 @@
|
|||||||
|
2015-12-09 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
|
* NpgsqlCircleProvider.cs: liste les cercles auquels
|
||||||
|
appartient un utilisateur.
|
||||||
|
|
||||||
|
* NpgsqlContentProvider.cs: Les commandes sont fortement
|
||||||
|
typée.
|
||||||
|
|
||||||
2015-11-30 Paul Schneider <paul@pschneider.fr>
|
2015-11-30 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
* NpgsqlContentProvider.csproj: ...
|
* NpgsqlContentProvider.csproj: ...
|
||||||
|
@ -37,6 +37,38 @@ namespace WorkFlowProvider
|
|||||||
public class NpgsqlCircleProvider : CircleProvider
|
public class NpgsqlCircleProvider : CircleProvider
|
||||||
{
|
{
|
||||||
#region implemented abstract members of CircleProvider
|
#region implemented abstract members of CircleProvider
|
||||||
|
/// <summary>
|
||||||
|
/// Circles the specified ownername and username.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="ownername">Ownername.</param>
|
||||||
|
/// <param name="username">Username.</param>
|
||||||
|
public override string[] Circles (string ownername, string username)
|
||||||
|
{
|
||||||
|
List<string> circles = new List<string> ();
|
||||||
|
using (NpgsqlConnection cnx = new NpgsqlConnection (connectionString)) {
|
||||||
|
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
|
||||||
|
cmd.CommandText = @"select c.title from circle c, circle_members m
|
||||||
|
where c.owner = :wnr
|
||||||
|
and c._id = m.circle_id
|
||||||
|
and m.member = :user
|
||||||
|
and m.applicationname = :app
|
||||||
|
";
|
||||||
|
cmd.Parameters.AddWithValue ("wnr",ownername);
|
||||||
|
cmd.Parameters.AddWithValue ("user",username);
|
||||||
|
cmd.Parameters.AddWithValue ("app",applicationName);
|
||||||
|
cnx.Open ();
|
||||||
|
using (NpgsqlDataReader rdr = cmd.ExecuteReader ()) {
|
||||||
|
if (rdr.HasRows) while (rdr.Read ())
|
||||||
|
circles.Add (rdr.GetString (0));
|
||||||
|
rdr.Close ();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
cnx.Close ();
|
||||||
|
}
|
||||||
|
return circles.ToArray();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Updates the circle.
|
/// Updates the circle.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -210,13 +210,14 @@ namespace Yavsc
|
|||||||
using (NpgsqlConnection cnx = CreateConnection ()) {
|
using (NpgsqlConnection cnx = CreateConnection ()) {
|
||||||
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
|
using (NpgsqlCommand cmd = cnx.CreateCommand ()) {
|
||||||
cmd.CommandText =
|
cmd.CommandText =
|
||||||
"select id,creation,prdref,params from commandes where @user = clientname and applicationname = @app";
|
"select id,creation,prdref,params,class from commandes where @user = clientname and applicationname = @app";
|
||||||
cmd.Parameters.AddWithValue ("@user", username);
|
cmd.Parameters.AddWithValue ("@user", username);
|
||||||
cmd.Parameters.AddWithValue ("@app", this.ApplicationName);
|
cmd.Parameters.AddWithValue ("@app", this.ApplicationName);
|
||||||
cnx.Open ();
|
cnx.Open ();
|
||||||
using (NpgsqlDataReader rdr = cmd.ExecuteReader ()) {
|
using (NpgsqlDataReader rdr = cmd.ExecuteReader ()) {
|
||||||
while (rdr.Read ()) {
|
while (rdr.Read ()) {
|
||||||
Command ycmd = new Command ();
|
string cls = rdr.GetString (4);
|
||||||
|
Command ycmd = Command.CreateCommand(cls);
|
||||||
ycmd.Id = rdr.GetInt64 (0);
|
ycmd.Id = rdr.GetInt64 (0);
|
||||||
ycmd.CreationDate = rdr.GetDateTime (1);
|
ycmd.CreationDate = rdr.GetDateTime (1);
|
||||||
ycmd.ProductRef = rdr.GetString (2);
|
ycmd.ProductRef = rdr.GetString (2);
|
||||||
|
@ -18,9 +18,12 @@ yavsc
|
|||||||
* Si c'est un préstataire, et si on est pas déjà dans un formulaire de reservation,
|
* Si c'est un préstataire, et si on est pas déjà dans un formulaire de reservation,
|
||||||
un lien vers la reservation de ses services
|
un lien vers la reservation de ses services
|
||||||
|
|
||||||
Et Donner des descriptions textuelles au cotes (ex: dans le cadre d'un prestataire, ses 5 cotes seraient
|
|
||||||
|
1.1) Donner des descriptions textuelles au cotes (ex: dans le cadre d'un prestataire, ses 5 cotes seraient
|
||||||
par exemple "Nouvelle star" "Artiste local" "Artiste régional" "Star nationale" "Star internationale"
|
par exemple "Nouvelle star" "Artiste local" "Artiste régional" "Star nationale" "Star internationale"
|
||||||
|
|
||||||
|
1.2) Concevoir un objet Contact listant les point d'accès par protocol (email, http, sip, irc, téléphone, adresse postale ...)
|
||||||
|
|
||||||
2) Refabrication de l'Api :
|
2) Refabrication de l'Api :
|
||||||
|
|
||||||
concernant la mise à jour la creation et l'edition d'un post, on
|
concernant la mise à jour la creation et l'edition d'un post, on
|
||||||
|
@ -39,7 +39,7 @@ namespace Yavsc.ApiControllers
|
|||||||
public long Create(NameValueCollection cmdParams)
|
public long Create(NameValueCollection cmdParams)
|
||||||
{
|
{
|
||||||
// HttpContext.Current.Request.Files
|
// HttpContext.Current.Request.Files
|
||||||
Command cmd = new Command(cmdParams, HttpContext.Current.Request.Files);
|
Command cmd = Command.CreateCommand(cmdParams, HttpContext.Current.Request.Files);
|
||||||
CurrentBasket.Add (cmd);
|
CurrentBasket.Add (cmd);
|
||||||
return cmd.Id;
|
return cmd.Id;
|
||||||
}
|
}
|
||||||
|
3273
web/App_Themes/animate.css
vendored
Normal file
3273
web/App_Themes/animate.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
51
web/App_Themes/clear/links.css
Normal file
51
web/App_Themes/clear/links.css
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
|
||||||
|
a, .actionlink {
|
||||||
|
z-index: 1;
|
||||||
|
color: white;
|
||||||
|
display:inline-block;
|
||||||
|
border-style: solid;
|
||||||
|
border-width:1px;
|
||||||
|
padding: 1em;
|
||||||
|
position: relative;
|
||||||
|
transition: color 1s;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited { color: white; }
|
||||||
|
|
||||||
|
a:hover, a:visited:hover, .actionlink:hover {
|
||||||
|
color:black;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
.actionlink, .menuitem { display:none;}
|
||||||
|
}
|
||||||
|
|
||||||
|
div.bback {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left:0;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
z-index: -2;
|
||||||
|
background-color: rgba(32,32,32,.2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
div.aback {
|
||||||
|
transform: scaleX(0);
|
||||||
|
transform-origin: 0px 50% 0px;
|
||||||
|
transition: transform 1s;
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left:0;
|
||||||
|
width:100%;
|
||||||
|
height:100%;
|
||||||
|
z-index: -1;
|
||||||
|
background-color:white;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover > div.aback {
|
||||||
|
transform: scaleX(1);
|
||||||
|
}
|
@ -1,11 +1,14 @@
|
|||||||
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700);
|
@import url(http://fonts.googleapis.com/css?family=Josefin+Sans&subset=latin,latin-ext);
|
||||||
|
@import url(/App_Themes/clear/links.css);
|
||||||
|
|
||||||
body {
|
body {
|
||||||
background-color: grey;
|
background-color: white;
|
||||||
color: #303030;
|
color: black;
|
||||||
font-family: 'Open Sans', sans-serif;
|
font-family: 'Josefin Sans', sans-serif;
|
||||||
|
background: url("/App_Themes/images/splash-image-2.jpg") 0 0 repeat fixed ;
|
||||||
}
|
}
|
||||||
.tagname { color: #D0FFD0; }
|
.tagname { }
|
||||||
|
|
||||||
.tagname:hover { background-color: red; }
|
.tagname:hover { background-color: red; }
|
||||||
|
|
||||||
/* Start by setting display:none to make this hidden.
|
/* Start by setting display:none to make this hidden.
|
||||||
@ -21,68 +24,79 @@ body {
|
|||||||
}
|
}
|
||||||
|
|
||||||
input, textarea, checkbox {
|
input, textarea, checkbox {
|
||||||
color: #FFA0A0;
|
color: black;
|
||||||
background-color: black;
|
background-color: white;
|
||||||
|
font-size: larger;
|
||||||
|
border: solid 1px rgb(128,128,128);
|
||||||
|
animation-name: flash;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-iteration-count: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header { float: left; }
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.jpg") 50% 0 repeat fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
#logo {
|
h1 { display: inline-block; }
|
||||||
background: url("/App_Themes/images/logo.s.png") 1em 1em no-repeat fixed;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3 { background-color: rgba(256,256,256,.5); }
|
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.jpg") 50% 10em repeat fixed ;
|
|
||||||
}
|
}
|
||||||
nav li { display: inline-block; }
|
nav li { display: inline-block; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
main {
|
main {
|
||||||
background: url("/App_Themes/images/musician-923526_1.nbbi.jpg") 50% 20em repeat fixed ;
|
clear:both;
|
||||||
|
background-color: rgba(256,256,256,.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.jpg") 50% 30em repeat fixed ;
|
background: url("/App_Themes/images/splash-image-2.jpg") 0 0 repeat fixed ;
|
||||||
}
|
}
|
||||||
|
|
||||||
legend {
|
legend, .skillname {
|
||||||
background-color: rgba(240,240,240,.5);
|
background-color: rgba(240,240,240,.8);
|
||||||
}
|
}
|
||||||
#copyr { background-color: rgba(250,250,250,.8); }
|
#copyr { }
|
||||||
|
|
||||||
#gspacer {
|
#gspacer {
|
||||||
background-color: rgba(209,209,209,.8); }
|
background-color: rgba(209,209,209,.8); }
|
||||||
|
|
||||||
form {
|
fieldset, .performer {
|
||||||
background-color: rgba(150,150,256,0.8);
|
background-color: rgba(216,216,216,0.8);
|
||||||
}
|
|
||||||
|
|
||||||
fieldset {
|
|
||||||
background-color: rgba(216,216,256,0.8);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
background-color: rgba(256,256,256,.2);
|
||||||
|
padding: 1em;
|
||||||
|
color:white;
|
||||||
|
transition: color 1s;
|
||||||
|
}
|
||||||
|
|
||||||
.postpreview {
|
.postpreview {
|
||||||
background-color: rgba(233,233,233,0.8);
|
background-color: rgba(233,233,233,0.8);
|
||||||
|
animation-name: slideInDown;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-iteration-count: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.postpreview > div {
|
||||||
|
max-height: 0;
|
||||||
|
overflow: hidden;
|
||||||
|
transition: max-height 2s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.postpreview:hover > div {
|
||||||
|
overflow: auto;
|
||||||
|
max-height: 15em;
|
||||||
|
background-color: rgba(233,233,233,0.8);
|
||||||
|
}
|
||||||
.post {
|
.post {
|
||||||
background-color: rgba(256,256,256,0.8);
|
background-color: rgba(256,256,256,0.8);
|
||||||
}
|
}
|
||||||
.hiddenpost { background-color: rgba(160,160,160,0.5); }
|
.hiddenpost { background-color: rgba(160,160,160,0.5); }
|
||||||
|
|
||||||
a { color: rgb(0,56,0); }
|
|
||||||
|
|
||||||
a:hover { background-color: rgba(160,160,160,.7); }
|
.panel,.bigpanel, aside {
|
||||||
|
|
||||||
footer a {
|
|
||||||
color: black;
|
|
||||||
background-color: rgba(220,220,220,.8);
|
|
||||||
}
|
|
||||||
.panel,.bshpanel, aside {
|
|
||||||
background-color: rgba(200,200,200,.8);
|
background-color: rgba(200,200,200,.8);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -91,6 +105,7 @@ footer a {
|
|||||||
}
|
}
|
||||||
.editable {
|
.editable {
|
||||||
border: dashed rgb(200,200,256) 2px;
|
border: dashed rgb(200,200,256) 2px;
|
||||||
|
background-color: rgba(256,256,256,.8);
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification {
|
.notification {
|
||||||
@ -102,7 +117,7 @@ footer a {
|
|||||||
}
|
}
|
||||||
.error, #error {
|
.error, #error {
|
||||||
color: #f88;
|
color: #f88;
|
||||||
background-color: rgba(256,.5);
|
background-color: rgba(256,0,0,.5);
|
||||||
}
|
}
|
||||||
.validation-summary-errors{
|
.validation-summary-errors{
|
||||||
color: #f88;
|
color: #f88;
|
||||||
@ -118,79 +133,87 @@ ul.preview li:nth-child(n) {
|
|||||||
color: #f88;
|
color: #f88;
|
||||||
}
|
}
|
||||||
|
|
||||||
a.menuitem {
|
|
||||||
color: black;
|
|
||||||
border: solid black 1px;
|
|
||||||
background-color: rgba(220,220,220,.8);
|
|
||||||
}
|
|
||||||
|
|
||||||
.actionlink {
|
|
||||||
color: black;
|
|
||||||
border: solid black 1px;
|
|
||||||
background-color: rgba(220,220,220,.8);
|
|
||||||
}
|
|
||||||
|
|
||||||
input, select, textarea {
|
|
||||||
color: black;
|
|
||||||
background-color:rgba(256,256,256,0.8);
|
|
||||||
border: solid 1px rgb(128,128,128);
|
|
||||||
}
|
|
||||||
|
|
||||||
a:active {
|
a:active {
|
||||||
background-color:rgba(184,180,132,0.9);
|
background-color:rgba(184,180,132,0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
input:hover, textarea:hover {
|
input:hover, textarea:hover {
|
||||||
color: white;
|
color: black;
|
||||||
background-color:rgba(164,164,164,0.8);
|
background-color: rgba(256,256,256,.8);
|
||||||
}
|
}
|
||||||
.code {
|
.code {
|
||||||
background-color: rgba(230,230,230,0.5);
|
background-color: rgba(230,230,230,0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
.ohafter:hover + .onhover, .ohinside:hover > .onhover {
|
|
||||||
background-color: rgba(240,240,250,.8);
|
|
||||||
}
|
|
||||||
|
|
||||||
.input-validation-error { border: solid 1px red; }
|
.input-validation-error { border: solid 1px red; }
|
||||||
.field-validation-error { color: red; }
|
.field-validation-error { color: red; }
|
||||||
|
|
||||||
|
|
||||||
@media all and (max-width: 640px) {
|
@media all and (max-width: 640px) {
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#logo {
|
#logo {
|
||||||
background: url("/App_Themes/images/logo.xs.png") 0 0 no-repeat fixed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.s.jpg") 50% 0 repeat fixed;
|
|
||||||
}
|
}
|
||||||
nav {
|
nav {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.s.jpg") 50% 10% repeat fixed ;
|
|
||||||
}
|
}
|
||||||
main {
|
main {
|
||||||
background: url("/App_Themes/images/musician-923526_1.nbbi.xs.jpg") 50% 20em repeat fixed ;
|
|
||||||
}
|
}
|
||||||
footer {
|
footer {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.s.jpg") 50% 90% repeat fixed ;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@media all and (max-width: 350px) {
|
@media all and (max-width: 350px) {
|
||||||
|
|
||||||
#logo {
|
#logo {
|
||||||
background: url("/App_Themes/images/logo.xxs.png") 0 0 no-repeat fixed;
|
|
||||||
}
|
}
|
||||||
header {
|
header {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.xxs.jpg") -1em -1em repeat fixed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.xxs.jpg") 50% 10% repeat fixed ;
|
|
||||||
}
|
}
|
||||||
main {
|
main {
|
||||||
background: url("/App_Themes/images/musician-923526_1.nbbi.xxs.jpg") 50% 20em repeat fixed ;
|
|
||||||
}
|
}
|
||||||
footer {
|
footer {
|
||||||
background: url("/App_Themes/images/live-concert-388160_1280.xxs.jpg") 50% 90% repeat fixed ;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.input-validation-error { border: solid 1px red; background-color: rgba(128,0,0,0.5);
|
||||||
|
animation-name: hotzone;
|
||||||
|
animation-duration: 4s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-validation-error { color: rgb(256,200,200); background-color: rgba(128,0,0,0.5);
|
||||||
|
animation-name: hotzone;
|
||||||
|
animation-duration: 4s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type='submit'].clickme {
|
||||||
|
animation-name: hotzone;
|
||||||
|
animation-duration: 4s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@keyframes hotzone {
|
||||||
|
from {
|
||||||
|
background-color: rgba(230,230,230,.8);
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
50% {background-color: rgba(256,150,150,.5);}
|
||||||
|
to {
|
||||||
|
background-color: rgba(230,230,230,.8);
|
||||||
|
color: black;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
27
web/App_Themes/dark/links.css
Normal file
27
web/App_Themes/dark/links.css
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
|
||||||
|
|
||||||
|
.actionlink, .menuitem, a, input[type='submit'] {
|
||||||
|
display:inline-block;
|
||||||
|
border-radius:1em;
|
||||||
|
border-style: solid;
|
||||||
|
border-width:1px;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 1em;
|
||||||
|
|
||||||
|
animation-name: fadeIn;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuitem {}
|
||||||
|
|
||||||
|
a:hover, .actionlink:hover, input[type='submit']:hover {
|
||||||
|
animation-name: fadeIn;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
.actionlink, .menuitem { display:none;}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,21 @@
|
|||||||
|
@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,600,700);
|
||||||
|
@import url(/App_Themes/dark/links.css);
|
||||||
|
|
||||||
|
.panel {
|
||||||
|
display:inline-block;
|
||||||
|
width: calc(33% - 10px);
|
||||||
|
}
|
||||||
|
|
||||||
|
@media all and (max-width: 1200px) {
|
||||||
|
.panel {
|
||||||
|
width: calc(50% - 5px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media all and (max-width: 720px) {
|
||||||
|
.panel {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.skillname {
|
.skillname {
|
||||||
background-color: rgba(16,16,64,0.8);
|
background-color: rgba(16,16,64,0.8);
|
||||||
@ -21,13 +38,8 @@ body {
|
|||||||
.rate:hover { border-color: green;
|
.rate:hover { border-color: green;
|
||||||
background-color:rgba(30,0,124,0.9); }
|
background-color:rgba(30,0,124,0.9); }
|
||||||
|
|
||||||
input, textarea, checkbox {
|
|
||||||
color: #FFFFA0;
|
|
||||||
background-color: black;
|
|
||||||
}
|
|
||||||
|
|
||||||
header {
|
header {
|
||||||
background: url("http://s448140597.onlinehome.us/wp-content/uploads/2014/12/project-management1.jpg") -20em -20em repeat fixed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header h1, header a {
|
header h1, header a {
|
||||||
@ -60,7 +72,16 @@ legend {
|
|||||||
#gspacer {
|
#gspacer {
|
||||||
background-color: rgba(20,20,20,.8);
|
background-color: rgba(20,20,20,.8);
|
||||||
}
|
}
|
||||||
|
.thanks {
|
||||||
|
background-color: rgba(50,50,50,.8);
|
||||||
|
color: rgb(230,230,230);
|
||||||
|
font-size: x-small;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.thanks:hover {
|
||||||
|
background-color: rgba(80,80,80,.8);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
.postpreview {
|
.postpreview {
|
||||||
background-color: rgba(0,0,32,0.8);
|
background-color: rgba(0,0,32,0.8);
|
||||||
}
|
}
|
||||||
@ -70,12 +91,12 @@ legend {
|
|||||||
}
|
}
|
||||||
.hiddenpost { background-color: rgba(16,16,16,0.5); }
|
.hiddenpost { background-color: rgba(16,16,16,0.5); }
|
||||||
|
|
||||||
|
aside {
|
||||||
.panel, .spanel, .bshpanel, .xspanel, .xxspanel, aside {
|
|
||||||
background-color: rgba(20,20,20,.6);
|
background-color: rgba(20,20,20,.6);
|
||||||
border-color: rgb(128,128,128);
|
border-color: rgb(128,128,128);
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
|
padding: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.usertitleref {
|
.usertitleref {
|
||||||
@ -90,15 +111,19 @@ legend {
|
|||||||
border-color: green ;
|
border-color: green ;
|
||||||
}
|
}
|
||||||
.dirty {
|
.dirty {
|
||||||
background-color: rgba(128,128,0,0.5);
|
background-color: rgba(128,0,0,0.5);
|
||||||
}
|
}
|
||||||
.error, #error {
|
.error, #error {
|
||||||
color: #f88;
|
color: #f88;
|
||||||
background-color: rgba(256,0,0,0.5);
|
background-color: rgba(128,0,0,0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.validation-summary-errors{
|
.validation-summary-errors{
|
||||||
color: #f88;
|
color: #f88;
|
||||||
background-color: rgba(256,0,0,0.5);
|
background-color: rgba(128,0,0,0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
.validation-summary-errors{
|
.validation-summary-errors{
|
||||||
@ -107,9 +132,18 @@ legend {
|
|||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
|
background-color: rgba(30,30,30,.8);
|
||||||
|
color: yellow;
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
background-color:rgba(50,50,50,.8);
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
a:active {
|
||||||
|
background-color:rgba(124,0,32,0.9);
|
||||||
}
|
}
|
||||||
|
|
||||||
.actionlink, .menuitem, a {
|
.actionlink, .menuitem, input[type='submit'] {
|
||||||
border-color: rgb(128,128,0);
|
border-color: rgb(128,128,0);
|
||||||
background-color: rgba(20,20,20,.8);
|
background-color: rgba(20,20,20,.8);
|
||||||
color: yellow;
|
color: yellow;
|
||||||
@ -117,26 +151,21 @@ a {
|
|||||||
|
|
||||||
input, select, textarea {
|
input, select, textarea {
|
||||||
color: white;
|
color: white;
|
||||||
background-color:rgba(0,0,64,0.8);
|
background-color:rgba(32,32,32,0.8);
|
||||||
border-color: rgb(128,128,128);
|
border-color: rgb(128,128,128);
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover {
|
|
||||||
background-color:rgba(30,0,124,0.9);
|
|
||||||
border-color: green ;
|
|
||||||
}
|
|
||||||
a:active {
|
|
||||||
background-color:rgba(124,0,32,0.9);
|
|
||||||
}
|
|
||||||
|
|
||||||
input:hover, textarea:hover {
|
input:hover, textarea:hover {
|
||||||
color: white;
|
color: white;
|
||||||
background-color:rgba(64,64,64,0.8);
|
background-color:rgb(0,0,0);
|
||||||
}
|
}
|
||||||
.code {
|
.code {
|
||||||
background-color: rgba(0,0,256,0.1);
|
background-color: rgba(0,0,256,0.1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.clickme {
|
||||||
|
transition: background-color 2s;
|
||||||
|
}
|
||||||
|
|
||||||
@media all and (max-width: 640px) {
|
@media all and (max-width: 640px) {
|
||||||
header {
|
header {
|
||||||
@ -223,3 +252,31 @@ header h1, header a { padding:.2em;}
|
|||||||
.c2 { display:none; }
|
.c2 { display:none; }
|
||||||
.c2-alt { display:initial; }
|
.c2-alt { display:initial; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.input-validation-error { border: solid 1px red; background-color: rgba(128,0,0,0.5);
|
||||||
|
animation-name: hotzone;
|
||||||
|
animation-duration: 4s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.field-validation-error { color: rgb(256,200,200); background-color: rgba(128,0,0,0.5);
|
||||||
|
animation-name: hotzone;
|
||||||
|
animation-duration: 4s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
input[type='submit'].clickme {
|
||||||
|
animation-name: hotzone;
|
||||||
|
animation-duration: 4s;
|
||||||
|
animation-iteration-count: infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@keyframes hotzone {
|
||||||
|
from {
|
||||||
|
background-color: rgba(30,30,30,.8);}
|
||||||
|
50% {background-color: rgba(90,50,50,.8);}
|
||||||
|
to {background-color: rgba(30,30,30,.8);}
|
||||||
|
}
|
||||||
|
|
||||||
|
BIN
web/App_Themes/images/GitHub.ico
Normal file
BIN
web/App_Themes/images/GitHub.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.4 KiB |
BIN
web/App_Themes/images/live-concert-fg.png
Normal file
BIN
web/App_Themes/images/live-concert-fg.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 163 KiB |
BIN
web/App_Themes/images/live-concert-scene.jpg
Normal file
BIN
web/App_Themes/images/live-concert-scene.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 110 KiB |
BIN
web/App_Themes/images/splash-image-2.jpg
Normal file
BIN
web/App_Themes/images/splash-image-2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
26
web/App_Themes/links.css
Normal file
26
web/App_Themes/links.css
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
|
||||||
|
.actionlink, .menuitem, a, input[type='submit'] {
|
||||||
|
display:inline-block;
|
||||||
|
border-radius:1em;
|
||||||
|
border-style: solid;
|
||||||
|
border-width:1px;
|
||||||
|
cursor: pointer;
|
||||||
|
padding: 1em;
|
||||||
|
|
||||||
|
animation-name: fadeIn;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.menuitem {}
|
||||||
|
|
||||||
|
a:hover, .actionlink:hover, input[type='submit']:hover {
|
||||||
|
animation-name: fadeIn;
|
||||||
|
animation-duration: 1s;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
.actionlink, .menuitem { display:none;}
|
||||||
|
}
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
|
@import url(/App_Themes/animate.css);
|
||||||
body {
|
body {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@ -11,42 +11,38 @@ body.loading .modal {
|
|||||||
display: block;
|
display: block;
|
||||||
}
|
}
|
||||||
.rate {
|
.rate {
|
||||||
border-radius:1em;
|
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
padding:.2em;
|
margin:.1em;
|
||||||
|
padding:.1em;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
|
width:5em;
|
||||||
|
text-align:center;
|
||||||
}
|
}
|
||||||
|
|
||||||
header {
|
header {
|
||||||
transition: margin 2s, padding 2s;
|
transition: margin 2s, padding 2s;
|
||||||
padding: 0;
|
padding: 2em;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding-top: 2em;
|
|
||||||
padding-bottom:2em;
|
|
||||||
display: block;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
header h1, header a {
|
header h1 {
|
||||||
transition:padding 2s;
|
transition: padding 2s;
|
||||||
margin:0; padding:1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
transition: margin 2s, padding 2s;
|
transition: margin 2s, size 2s;
|
||||||
margin: 2em;
|
|
||||||
padding: 2em;
|
padding: 2em;
|
||||||
display: block;
|
|
||||||
border-radius:1em;
|
|
||||||
justify-content: space-around;
|
justify-content: space-around;
|
||||||
}
|
}
|
||||||
|
div {
|
||||||
|
vertical-align: text-top;
|
||||||
|
transition: margin 2s, padding 2s, height 2s; }
|
||||||
main {
|
main {
|
||||||
transition: margin 2s, padding 2s;
|
transition: margin 2s, padding 2s;
|
||||||
margin: 2em;
|
margin: 2em;
|
||||||
padding: 2em;
|
padding: 2em;
|
||||||
display: block;
|
display: block;
|
||||||
border-radius:1em;
|
|
||||||
}
|
}
|
||||||
main video, main img {
|
main video, main img {
|
||||||
max-width:100%;
|
max-width:100%;
|
||||||
@ -56,7 +52,6 @@ main video, main img {
|
|||||||
|
|
||||||
footer {
|
footer {
|
||||||
transition: margin 2s, padding 2s;
|
transition: margin 2s, padding 2s;
|
||||||
margin: 2em;
|
|
||||||
padding: 2em;
|
padding: 2em;
|
||||||
display: block;
|
display: block;
|
||||||
clear: both;
|
clear: both;
|
||||||
@ -71,7 +66,7 @@ footer img { max-height: 3em; vertical-align: middle; }
|
|||||||
a img, h1 img, .menuitem img { vertical-align: middle; }
|
a img, h1 img, .menuitem img { vertical-align: middle; }
|
||||||
|
|
||||||
fieldset {
|
fieldset {
|
||||||
border-radius:5px; border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
}
|
}
|
||||||
aside {
|
aside {
|
||||||
@ -101,6 +96,8 @@ ul.preview li:nth-child(n) {
|
|||||||
overflow: auto;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.switch { cursor: pointer; }
|
||||||
|
|
||||||
.dispmodal {
|
.dispmodal {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
z-index: 1000;
|
z-index: 1000;
|
||||||
@ -113,20 +110,13 @@ ul.preview li:nth-child(n) {
|
|||||||
overflow-x: hidden;
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
.postpreview {
|
|
||||||
display: inline-block;
|
|
||||||
max-width: 40em;
|
|
||||||
padding: 1em;
|
|
||||||
border-radius:1em;
|
|
||||||
}
|
|
||||||
.postpreview video, .postpreview img {
|
.postpreview video, .postpreview img {
|
||||||
max-width: 100%;
|
max-height: 3em;
|
||||||
padding: 1em;
|
padding: .3em;
|
||||||
}
|
}
|
||||||
.post {
|
.post {
|
||||||
display:block;
|
display:block;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
border-radius:1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.fullwidth { width: 100%; }
|
.fullwidth { width: 100%; }
|
||||||
@ -139,35 +129,22 @@ textarea.fullwidth { min-height:10em; }
|
|||||||
display:inline;
|
display:inline;
|
||||||
bottom:0;
|
bottom:0;
|
||||||
}
|
}
|
||||||
.panel {
|
|
||||||
display:inline-block;
|
|
||||||
}
|
|
||||||
.panel,.bshpanel, aside {
|
|
||||||
border-radius: 1em;
|
|
||||||
padding: 1em;
|
|
||||||
}
|
|
||||||
.spanel {
|
.spanel {
|
||||||
max-width: 18em;
|
max-width: 18em;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-radius: 1.5em;
|
|
||||||
padding: .3em;
|
|
||||||
}
|
}
|
||||||
fieldset {
|
fieldset {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-radius: 1.5em;
|
|
||||||
padding: .3em;
|
padding: .3em;
|
||||||
}
|
}
|
||||||
.xspanel {
|
.xspanel {
|
||||||
max-width:13em;
|
max-width:13em;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding:.2em;
|
|
||||||
border-radius: 1em;
|
|
||||||
}
|
}
|
||||||
.xxspanel {
|
.xxspanel {
|
||||||
max-width:7em;
|
max-width:7em;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding:.1em;
|
|
||||||
border-radius: .5em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.hint {
|
.hint {
|
||||||
@ -175,21 +152,22 @@ display:inline-block;
|
|||||||
font-style: italic;
|
font-style: italic;
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hint::before {
|
.hint::before {
|
||||||
content: "(";
|
content: "(";
|
||||||
}
|
}
|
||||||
|
|
||||||
.hint::after {
|
.hint::after {
|
||||||
content: ")";
|
content: ")";
|
||||||
}
|
}
|
||||||
|
|
||||||
.usertitleref {
|
.usertitleref {
|
||||||
border-radius: 1em;
|
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.editable {
|
.editable {
|
||||||
margin: .5em;
|
margin: .5em;
|
||||||
min-height:1em;
|
min-height:1em;
|
||||||
border-radius: 1em;
|
|
||||||
border-style: dashed;
|
border-style: dashed;
|
||||||
border-width: 2px;
|
border-width: 2px;
|
||||||
}
|
}
|
||||||
@ -199,17 +177,16 @@ content: ")";
|
|||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
border-radius:1em;
|
|
||||||
margin:1em;
|
margin:1em;
|
||||||
padding:1em;
|
padding:1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.error, #error {
|
.error, #error {
|
||||||
font-size: large;
|
font-size: large;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hidden { display:none; }
|
.hidden { display:none; }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
.iconsmall { max-height: 1.3em; max-width: 1.3em; }
|
.iconsmall { max-height: 1.3em; max-width: 1.3em; }
|
||||||
|
|
||||||
.photo { width: 100%; }
|
.photo { width: 100%; }
|
||||||
@ -219,7 +196,6 @@ content: ")";
|
|||||||
nav li { display: inline-block; }
|
nav li { display: inline-block; }
|
||||||
|
|
||||||
footer a {
|
footer a {
|
||||||
border-radius:1em;
|
|
||||||
padding:1em;
|
padding:1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -230,35 +206,23 @@ a img, h1 img, .menuitem img { vertical-align: middle; }
|
|||||||
|
|
||||||
|
|
||||||
legend {
|
legend {
|
||||||
border-radius:5px;
|
|
||||||
padding:.5em;
|
padding:.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
#copyr { text-align: center; display: block; }
|
#copyr { text-align: center; display: block; }
|
||||||
|
|
||||||
#gspacer {
|
#gspacer {
|
||||||
border-radius:1em;
|
|
||||||
margin:1em; padding:1em;
|
margin:1em; padding:1em;
|
||||||
display: inline-block }
|
display: inline-block }
|
||||||
|
|
||||||
.actionlink, .menuitem, a {
|
input, select, textarea {
|
||||||
display:inline-block;
|
|
||||||
border-radius:1em;
|
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width:1px;
|
border-width:1px;
|
||||||
cursor: pointer;
|
|
||||||
padding: 1em;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input, select, textarea {
|
|
||||||
border-radius:1em;
|
|
||||||
border-style: solid;
|
|
||||||
border-width:1px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.code {
|
.code {
|
||||||
font-family: "monospace";
|
font-family: "monospace";
|
||||||
border-radius:25px;
|
|
||||||
white-space: pre-wrap;
|
white-space: pre-wrap;
|
||||||
}
|
}
|
||||||
.bigavatar{
|
.bigavatar{
|
||||||
@ -271,44 +235,38 @@ input, select, textarea {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.comment {
|
.comment {
|
||||||
border-radius:25px;
|
|
||||||
font-size: smaller;
|
font-size: smaller;
|
||||||
}
|
}
|
||||||
|
|
||||||
.onhover {
|
.username {
|
||||||
display:none;
|
border-style: solid;
|
||||||
position: absolute;
|
border-width: 1px;
|
||||||
|
font-size: large;
|
||||||
|
font-weight: bold;
|
||||||
|
display: inline-block;
|
||||||
|
animation-name: wobble;
|
||||||
|
animation-duration: 4s;
|
||||||
|
animation-iteration-count: 1;
|
||||||
|
padding:1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.ohafter:hover + .onhover, .ohinside:hover > .onhover {
|
.skillname, .pagelink {
|
||||||
display:block;
|
|
||||||
z-index:2;
|
|
||||||
padding:5px; margin:5px;
|
|
||||||
background-color: rgba(0,0,40,.8);
|
|
||||||
}
|
|
||||||
.skillname, .performer, .usercard, .pagelink {
|
|
||||||
padding:.5em;
|
padding:.5em;
|
||||||
margin:.25em;
|
margin:.25em;
|
||||||
max-width: 24em;
|
max-width: 24em;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
border-radius:1em;
|
|
||||||
border-style: solid;
|
border-style: solid;
|
||||||
border-width: 1px;
|
border-width: 1px;
|
||||||
font-size: large;
|
font-size: large;
|
||||||
}
|
}
|
||||||
|
.performer , .availability { text-align: center; padding: 1em; }
|
||||||
.input-validation-error { border: solid 1px red; background-color: rgba(180,256,256,.5); }
|
|
||||||
|
|
||||||
.field-validation-error { color: red; background-color: rgba(180,256,256,.5); }
|
|
||||||
|
|
||||||
.c2 { font-size: small; font-style: italic; }
|
.c2 { font-size: small; font-style: italic; }
|
||||||
|
|
||||||
.c3 { font-size: x-small; font-style: italic; }
|
.c3 { font-size: x-small; font-style: italic; }
|
||||||
|
|
||||||
.rate {
|
|
||||||
display:inline-bloc; width:5em; cursor: pointer; text-align:center;
|
|
||||||
}
|
|
||||||
h2 select { font-size: large; }
|
h2 select { font-size: large; }
|
||||||
|
|
||||||
ul.editablelist {
|
ul.editablelist {
|
||||||
@ -319,45 +277,47 @@ ul.editablelist>li {
|
|||||||
margin:.5em;
|
margin:.5em;
|
||||||
padding:.2em;
|
padding:.2em;
|
||||||
border: solid grey 1px;
|
border: solid grey 1px;
|
||||||
border-radius: 1em;
|
cursor:pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.editablelist>li:before {
|
ul.editablelist>li:after {
|
||||||
font-family: 'FontAwesome';
|
font-family: 'FontAwesome';
|
||||||
content: "\f007";
|
content: " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.editablelist>li:hover {
|
ul.editablelist>li:hover {
|
||||||
background-color: rgba(128,0,0,0.5);
|
background-color: rgba(128,0,0,0.5);
|
||||||
cursor:pointer;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ul.editablelist>li:hover:before {
|
ul.editablelist>li:hover:after {
|
||||||
font-family: 'FontAwesome';
|
font-family: 'FontAwesome';
|
||||||
content: "\f00d";
|
content: "\f00d";
|
||||||
}
|
}
|
||||||
|
|
||||||
@media print {
|
|
||||||
body {background-color:white;color:black;}
|
|
||||||
.control, .actionlink, .menuitem, nav { display:none;}
|
|
||||||
}
|
|
||||||
|
|
||||||
.bshpanel { display: inline-block; }
|
|
||||||
.bsh { display: none; }
|
.bsh { display: none; }
|
||||||
.c3 { display:initial; }
|
.c3 { display:initial; }
|
||||||
.c3-alt { display:none; }
|
.c3-alt { display:none; }
|
||||||
|
|
||||||
@media all and (max-width: 640px) {
|
@media all and (min-width: 640px) {
|
||||||
header {
|
|
||||||
padding-top:1em;
|
div.panel {
|
||||||
padding-bottom:1em;
|
display:inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.high-z-index { z-index: 99; }
|
||||||
|
|
||||||
|
@media print {
|
||||||
|
body {background-color:white;color:black;}
|
||||||
|
.control, nav { display:none;}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media all and (max-width: 640px) {
|
||||||
|
|
||||||
|
|
||||||
#avatar {
|
#avatar {
|
||||||
margin:.5em;
|
margin:.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
header h1, header a , .actionlink, .menuitem, a { padding:.5em;}
|
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
margin: 1em;
|
margin: 1em;
|
||||||
@ -372,22 +332,19 @@ header h1, header a , .actionlink, .menuitem, a { padding:.5em;}
|
|||||||
padding: 1em;
|
padding: 1em;
|
||||||
}
|
}
|
||||||
footer a {
|
footer a {
|
||||||
border-radius:.5em;
|
|
||||||
margin:.5em;
|
margin:.5em;
|
||||||
padding:.5em;
|
padding:.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.notification {
|
.notification {
|
||||||
padding: .5em;
|
padding: .5em;
|
||||||
border-radius:.5em;
|
|
||||||
margin:.5em;
|
margin:.5em;
|
||||||
padding:.5em;
|
padding:.5em;
|
||||||
max-height: 100%;
|
max-height: 100%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
.menuitem {
|
.menuitem { display: block; }
|
||||||
display: block;
|
|
||||||
}
|
|
||||||
.post {
|
.post {
|
||||||
margin:.3em;
|
margin:.3em;
|
||||||
padding:.3em;
|
padding:.3em;
|
||||||
@ -404,10 +361,7 @@ header h1, header a , .actionlink, .menuitem, a { padding:.5em;}
|
|||||||
}
|
}
|
||||||
|
|
||||||
@media all and (max-width: 380px) {
|
@media all and (max-width: 380px) {
|
||||||
header {
|
|
||||||
padding-top:.5em;
|
|
||||||
padding-bottom:.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
header h1, header a { padding:.2em;}
|
header h1, header a { padding:.2em;}
|
||||||
|
|
||||||
@ -415,6 +369,7 @@ header h1, header a { padding:.2em;}
|
|||||||
margin: .5em;
|
margin: .5em;
|
||||||
padding: .5em;
|
padding: .5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
main {
|
main {
|
||||||
margin: .5em;
|
margin: .5em;
|
||||||
padding: .5em;
|
padding: .5em;
|
||||||
@ -424,7 +379,6 @@ header h1, header a { padding:.2em;}
|
|||||||
padding: .5em;
|
padding: .5em;
|
||||||
}
|
}
|
||||||
footer a {
|
footer a {
|
||||||
border-radius:.2em;
|
|
||||||
margin:.2em;
|
margin:.2em;
|
||||||
padding:.2em;
|
padding:.2em;
|
||||||
}
|
}
|
||||||
@ -433,4 +387,3 @@ header h1, header a { padding:.2em;}
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
189
web/ChangeLog
189
web/ChangeLog
@ -1,3 +1,192 @@
|
|||||||
|
2015-12-09 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
|
* 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)
|
||||||
|
|
||||||
|
* BasketController.cs: Les commandes sont fortement typée.
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
|
* SiteSkills.aspx: renomage de cette page, pour préciser sa
|
||||||
|
fonction : les compétences sur ce site.
|
||||||
|
|
||||||
2015-12-03 Paul Schneider <paul@pschneider.fr>
|
2015-12-03 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
* AccountController.cs: doc xml
|
* AccountController.cs: doc xml
|
||||||
|
@ -22,6 +22,7 @@ using Yavsc.Model.Google.Api;
|
|||||||
using System.Net;
|
using System.Net;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using Yavsc.Model.Circles;
|
||||||
|
|
||||||
namespace Yavsc.Controllers
|
namespace Yavsc.Controllers
|
||||||
{
|
{
|
||||||
@ -53,7 +54,7 @@ namespace Yavsc.Controllers
|
|||||||
/// Estimates released to this client
|
/// Estimates released to this client
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public ActionResult Estimates (string client)
|
public ActionResult YourEstimates (string client)
|
||||||
{
|
{
|
||||||
var u = Membership.GetUser ();
|
var u = Membership.GetUser ();
|
||||||
if (u == null) // There was no redirection to any login page
|
if (u == null) // There was no redirection to any login page
|
||||||
@ -94,7 +95,7 @@ namespace Yavsc.Controllers
|
|||||||
/// <param name="model">Model.</param>
|
/// <param name="model">Model.</param>
|
||||||
/// <param name="submit">Submit.</param>
|
/// <param name="submit">Submit.</param>
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public ActionResult Estimate (Estimate model, string submit)
|
public ActionResult DoAnEstimate (Estimate model, string submit)
|
||||||
{
|
{
|
||||||
string username = Membership.GetUser ().UserName;
|
string username = Membership.GetUser ().UserName;
|
||||||
// Obsolete, set in master page
|
// Obsolete, set in master page
|
||||||
@ -238,14 +239,23 @@ namespace Yavsc.Controllers
|
|||||||
/// <param name="collection">Collection.</param>
|
/// <param name="collection">Collection.</param>
|
||||||
[HttpPost]
|
[HttpPost]
|
||||||
[Authorize]
|
[Authorize]
|
||||||
public ActionResult Command (FormCollection collection)
|
public ActionResult DoCommand (FormCollection collection)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
// Add specified product command to the basket,
|
// Add specified product command to the basket,
|
||||||
// saves it in db
|
// saves it in db
|
||||||
new Command (collection, HttpContext.Request.Files);
|
//
|
||||||
YavscHelpers.Notify (ViewData, LocalizedText.Item_added_to_basket);
|
// * check the validity of this request
|
||||||
return View (collection);
|
// by finding the "type" parameter between
|
||||||
|
// the allowed command types
|
||||||
|
// * instanciate the given command type, passing it the form data
|
||||||
|
// * Make the workflow register this command
|
||||||
|
// * Render the resulting basket
|
||||||
|
var cmd = Command.CreateCommand (collection, HttpContext.Request.Files);
|
||||||
|
ViewData["Commanded"] = cmd;
|
||||||
|
YavscHelpers.Notify (ViewData,
|
||||||
|
LocalizedText.Item_added_to_basket);
|
||||||
|
return View ("Basket",WorkFlowManager.GetCommands (User.Identity.Name));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
YavscHelpers.Notify (ViewData, "Exception:" + e.Message);
|
YavscHelpers.Notify (ViewData, "Exception:" + e.Message);
|
||||||
return View (collection);
|
return View (collection);
|
||||||
@ -276,7 +286,7 @@ namespace Yavsc.Controllers
|
|||||||
/// Skills the specified model.
|
/// Skills the specified model.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Authorize (Roles = "Admin")]
|
[Authorize (Roles = "Admin")]
|
||||||
public ActionResult ActivitySkills (string MEACode)
|
public ActionResult SiteSkills (string MEACode)
|
||||||
{
|
{
|
||||||
SetMEACodeViewData (MEACode);
|
SetMEACodeViewData (MEACode);
|
||||||
var skills = SkillManager.FindSkill ("%",MEACode);
|
var skills = SkillManager.FindSkill ("%",MEACode);
|
||||||
@ -404,6 +414,7 @@ namespace Yavsc.Controllers
|
|||||||
{
|
{
|
||||||
// assert (model.MEACode!=null), since it's the required part of the route data
|
// assert (model.MEACode!=null), since it's the required part of the route data
|
||||||
var needs = SkillManager.FindSkill ("%", model.MEACode);
|
var needs = SkillManager.FindSkill ("%", model.MEACode);
|
||||||
|
ViewBag.Activity = WorkFlowManager.GetActivity (model.MEACode);
|
||||||
var specification = new List<SkillRating> ();
|
var specification = new List<SkillRating> ();
|
||||||
ViewData ["Needs"] = needs;
|
ViewData ["Needs"] = needs;
|
||||||
if (model.Need != null) {
|
if (model.Need != null) {
|
||||||
@ -438,6 +449,7 @@ namespace Yavsc.Controllers
|
|||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
result.Add (profile.CreateAvailability (model.PreferedDate, false));
|
result.Add (profile.CreateAvailability (model.PreferedDate, false));
|
||||||
|
ViewData["Circles"] = CircleManager.ListAvailableCircles();
|
||||||
return View ("Performers", result.ToArray ());
|
return View ("Performers", result.ToArray ());
|
||||||
}
|
}
|
||||||
if (model.Need==null) {
|
if (model.Need==null) {
|
||||||
|
@ -109,7 +109,19 @@ namespace Yavsc.Controllers
|
|||||||
{
|
{
|
||||||
return View ();
|
return View ();
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// About this instance.
|
||||||
|
/// </summary>
|
||||||
|
public ActionResult About ()
|
||||||
|
{
|
||||||
|
return View ();
|
||||||
|
}
|
||||||
|
#if DEBUG
|
||||||
|
public ActionResult Test ()
|
||||||
|
{
|
||||||
|
return View ();
|
||||||
|
}
|
||||||
|
#endif
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Contact the specified email, reason and body.
|
/// Contact the specified email, reason and body.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -35,8 +35,9 @@ namespace Yavsc.Helpers
|
|||||||
/// <param name="text">Text.</param>
|
/// <param name="text">Text.</param>
|
||||||
public static IHtmlString Translate(this HtmlHelper helper, object text)
|
public static IHtmlString Translate(this HtmlHelper helper, object text)
|
||||||
{
|
{
|
||||||
|
// TODO notify admin from a null text here
|
||||||
if (string.IsNullOrWhiteSpace ((string)text))
|
if (string.IsNullOrWhiteSpace ((string)text))
|
||||||
throw new InvalidOperationException ("Empty text to translate");
|
return null;
|
||||||
// Just call the other one, to avoid having two copies (we don't use the HtmlHelper).
|
// Just call the other one, to avoid having two copies (we don't use the HtmlHelper).
|
||||||
return new MvcHtmlString(helper.Encode(GetString((string)text)));
|
return new MvcHtmlString(helper.Encode(GetString((string)text)));
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,8 @@ using System.Web.Mvc;
|
|||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using Yavsc.Model.Messaging;
|
using Yavsc.Model.Messaging;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Reflection;
|
||||||
|
using System.Web.Routing;
|
||||||
|
|
||||||
namespace Yavsc.Helpers
|
namespace Yavsc.Helpers
|
||||||
{
|
{
|
||||||
@ -377,7 +379,6 @@ namespace Yavsc.Helpers
|
|||||||
HtmlTextWriter writer = new HtmlTextWriter(strwr);
|
HtmlTextWriter writer = new HtmlTextWriter(strwr);
|
||||||
// refer to the global style
|
// refer to the global style
|
||||||
writer.AddAttribute ("rel", "stylesheet");
|
writer.AddAttribute ("rel", "stylesheet");
|
||||||
writer.AddAttribute ("title", theme);
|
|
||||||
writer.AddAttribute ("href",
|
writer.AddAttribute ("href",
|
||||||
string.Format(
|
string.Format(
|
||||||
"/App_Themes/{1}.css",
|
"/App_Themes/{1}.css",
|
||||||
@ -407,6 +408,100 @@ namespace Yavsc.Helpers
|
|||||||
}
|
}
|
||||||
return new MvcHtmlString(strwr.ToString());
|
return new MvcHtmlString(strwr.ToString());
|
||||||
}
|
}
|
||||||
|
private static object defaultHtmlAttributes =
|
||||||
|
new { @class="actionlink" };
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Translateds the action link.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The action link.</returns>
|
||||||
|
/// <param name="helper">Helper.</param>
|
||||||
|
/// <param name="actionName">Action name.</param>
|
||||||
|
/// <param name="htmlAttributes">Html attributes.</param>
|
||||||
|
public static IHtmlString TranslatedActionLink (this HtmlHelper helper,
|
||||||
|
string actionLabel, object htmlAttributes = null) {
|
||||||
|
return TranslatedActionLink (helper, actionLabel, actionLabel, htmlAttributes);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Translateds the action link.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The action link.</returns>
|
||||||
|
/// <param name="helper">Helper.</param>
|
||||||
|
/// <param name="actionName">Action name.</param>
|
||||||
|
/// <param name="method">Method.</param>
|
||||||
|
/// <param name="htmlAttributes">Html attributes.</param>
|
||||||
|
public static IHtmlString TranslatedActionLink (this HtmlHelper helper,
|
||||||
|
string actionLabel, string method, object htmlAttributes = null) {
|
||||||
|
return TranslatedActionLink (helper,
|
||||||
|
actionLabel, method, null, htmlAttributes = null);
|
||||||
|
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Translateds the action link.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The action link.</returns>
|
||||||
|
/// <param name="helper">Helper.</param>
|
||||||
|
/// <param name="actionName">Action name.</param>
|
||||||
|
/// <param name="method">Method.</param>
|
||||||
|
/// <param name="controller">Controller.</param>
|
||||||
|
/// <param name="htmlAttributes">Html attributes.</param>
|
||||||
|
public static IHtmlString TranslatedActionLink (this HtmlHelper helper,
|
||||||
|
string actionLabel, string method, string controller, object htmlAttributes = null) {
|
||||||
|
return TranslatedActionLink (helper, actionLabel, method, controller,
|
||||||
|
new { controller = controller, action = actionLabel }, htmlAttributes);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Translateds the action link.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The action link.</returns>
|
||||||
|
/// <param name="helper">Helper.</param>
|
||||||
|
/// <param name="actionName">Action name.</param>
|
||||||
|
/// <param name="method">Method.</param>
|
||||||
|
/// <param name="controller">Controller.</param>
|
||||||
|
/// <param name="routes">Routes.</param>
|
||||||
|
/// <param name="htmlAttributes">Html attributes.</param>
|
||||||
|
public static IHtmlString TranslatedActionLink (this HtmlHelper helper,
|
||||||
|
string actionLabel, string actionName, string controller, object routes, object htmlAttributes = null) {
|
||||||
|
|
||||||
|
|
||||||
|
if (htmlAttributes == null)
|
||||||
|
htmlAttributes = defaultHtmlAttributes;
|
||||||
|
IHtmlString text = T.Translate (helper, actionLabel);
|
||||||
|
StringWriter strwr = new StringWriter ();
|
||||||
|
HtmlTextWriter writer = new HtmlTextWriter(strwr);
|
||||||
|
|
||||||
|
foreach (var ppt in htmlAttributes.GetType().GetProperties(BindingFlags.GetProperty|
|
||||||
|
BindingFlags.Public)) {
|
||||||
|
writer.AddAttribute(ppt.Name, ppt.GetValue(htmlAttributes).ToString())
|
||||||
|
;
|
||||||
|
}
|
||||||
|
writer.AddAttribute ("href",
|
||||||
|
UrlHelper.GenerateUrl (
|
||||||
|
"Default", actionName, controller,
|
||||||
|
( routes == null ) ? null : new RouteValueDictionary ( routes ) ,
|
||||||
|
helper.RouteCollection,
|
||||||
|
helper.ViewContext.RequestContext,
|
||||||
|
false));
|
||||||
|
writer.RenderBeginTag ("a");
|
||||||
|
writer.Write (text);
|
||||||
|
writer.RenderEndTag ();
|
||||||
|
return new MvcHtmlString(strwr.ToString());
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public static IHtmlString TranslatedActionLink (this HtmlHelper helper,
|
||||||
|
string actionName, string method, object routes, object htmlAttributes = null) {
|
||||||
|
|
||||||
|
string controllerName = helper.ViewContext.Controller.GetType ().Name;
|
||||||
|
if (controllerName.EndsWith ("Controller"))
|
||||||
|
controllerName = controllerName.Substring (0,controllerName.Length - 10);
|
||||||
|
return TranslatedActionLink (helper, actionName, method,
|
||||||
|
controllerName, routes, htmlAttributes);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -24,7 +24,7 @@ Page.StyleSheetTheme = (string) Profile.UITheme; %>
|
|||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var apiBaseUrl = '<%=Url.Content(Yavsc.WebApiConfig.UrlPrefixRelative)%>';
|
var apiBaseUrl = '<%=Url.Content(Yavsc.WebApiConfig.UrlPrefixRelative)%>';
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
$('[data-type="rate-bill"]').rate({target: 'Blogs/Rate'});
|
$('[data-type="rate-bill"]').rate({webTarget: 'Blogs/Rate'});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
<%=Ajax.YaGlobalizationScript()%>
|
<%=Ajax.YaGlobalizationScript()%>
|
||||||
@ -36,10 +36,11 @@ var apiBaseUrl = '<%=Url.Content(Yavsc.WebApiConfig.UrlPrefixRelative)%>';
|
|||||||
</asp:ContentPlaceHolder>
|
</asp:ContentPlaceHolder>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<header data-type="background" data-speed="8" >
|
|
||||||
|
<header >
|
||||||
<asp:ContentPlaceHolder ID="overHeaderOne" runat="server">
|
<asp:ContentPlaceHolder ID="overHeaderOne" runat="server">
|
||||||
<h1><a href="<%= Url.RouteUrl("Default") %>">
|
<h1>
|
||||||
<%=ViewState["orgtitle"]%></a>
|
<%=ViewState["orgtitle"]%>
|
||||||
- <a href="<%= Url.RouteUrl("Default", new {controller = "Home" , action = "Index" }) %>"><%= YavscHelpers.SiteName %></a>
|
- <a href="<%= Url.RouteUrl("Default", new {controller = "Home" , action = "Index" }) %>"><%= YavscHelpers.SiteName %></a>
|
||||||
</h1>
|
</h1>
|
||||||
</asp:ContentPlaceHolder>
|
</asp:ContentPlaceHolder>
|
||||||
@ -56,36 +57,39 @@ else {%> Yavsc.notice(<%=note.body%>, <%=note.click_action%>, <%=note.click_acti
|
|||||||
</script>
|
</script>
|
||||||
<% } %>
|
<% } %>
|
||||||
</header>
|
</header>
|
||||||
<nav data-type="background" data-speed="5">
|
<nav >
|
||||||
<% if (Membership.GetUser()==null) { %>
|
<% if (Membership.GetUser()==null) { %>
|
||||||
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Login", returnUrl=Request.Url.PathAndQuery}) %>" class="menuitem" accesskey = "C">
|
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Login", returnUrl=Request.Url.PathAndQuery}) %>" class="link" accesskey = "C">
|
||||||
<i class="fa fa-sign-in">Connexion</i>
|
<i class="fa fa-sign-in"></i> Connexion
|
||||||
</a>
|
</a>
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<a href="<%=Url.RouteUrl("Blogs", new { user = HttpContext.Current.User.Identity.Name } )%>" accesskey = "B" class="menuitem fa" >
|
<a href="<%=Url.RouteUrl("Blogs", new { user = HttpContext.Current.User.Identity.Name } )%>" accesskey = "B" class="link" >
|
||||||
<img src="<%=Url.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="" class="iconsmall" />
|
<img src="<%=Url.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="" class="iconsmall" />
|
||||||
Vos billets
|
Vos billets
|
||||||
</a>
|
</a>
|
||||||
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Profile", id = HttpContext.Current.User.Identity.Name} ) %>" accesskey="P" class="menuitem fa fa-user">
|
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Profile", id = HttpContext.Current.User.Identity.Name} ) %>" accesskey="P" class="link ">
|
||||||
|
<i class="fa fa-user"></i>
|
||||||
<%= HttpContext.Current.User.Identity.Name %>
|
<%= HttpContext.Current.User.Identity.Name %>
|
||||||
<span class="hint"> Édition de votre profile </span>
|
<span class="hint"> Édition de votre profile </span>
|
||||||
</a>
|
</a>
|
||||||
<a href="/Blogs/Post" accesskey="P" class="menuitem fa fa-pencil">
|
<a href="/Blogs/Post" accesskey="P" class="link">
|
||||||
|
<i class="fa fa-pencil"></i>
|
||||||
<u>P</u>oster
|
<u>P</u>oster
|
||||||
<span class="hint">Édition d'un nouveau billet </span>
|
<span class="hint">Édition d'un nouveau billet </span>
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Logout", returnUrl=Request.Url.PathAndQuery}) %>" accesskey = "C" class="menuitem fa fa-sign-out">
|
<a href="<%= Url.RouteUrl("Default", new { controller = "Account", action = "Logout", returnUrl=Request.Url.PathAndQuery}) %>" accesskey = "C" class="link">
|
||||||
|
<i class="fa fa-sign-out"></i>
|
||||||
<%=Html.Translate("Logout")%></a>
|
<%=Html.Translate("Logout")%></a>
|
||||||
<% } %>
|
<% } %>
|
||||||
</nav>
|
</nav>
|
||||||
<main data-type="background" data-speed="10" data-emheight="10" data-posx="0" data-posy="22" >
|
<main>
|
||||||
<asp:ContentPlaceHolder ID="MainContent" runat="server">
|
<asp:ContentPlaceHolder ID="MainContent" runat="server">
|
||||||
</asp:ContentPlaceHolder>
|
</asp:ContentPlaceHolder>
|
||||||
</main>
|
</main>
|
||||||
<footer data-type="background" data-speed="5" >
|
<footer>
|
||||||
|
|
||||||
<%= Html.ActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
|
<%= Html.TranslatedActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
|
||||||
|
|
||||||
<div id="copyr">
|
<div id="copyr">
|
||||||
<a href="http://yavsc.pschneider.fr/Blogs/UserPost/paul/License">
|
<a href="http://yavsc.pschneider.fr/Blogs/UserPost/paul/License">
|
||||||
@ -93,5 +97,11 @@ Vos billets
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
</footer><div class="modal"></div>
|
</footer><div class="modal"></div>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function() {
|
||||||
|
$('fieldset.mayhide').hidefieldset();
|
||||||
|
$( "a" ).append("<div class='aback'></div>").append("<div class='bback'></div>");
|
||||||
|
});
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -58,14 +58,14 @@ else {%> Yavsc.notice(<%=note.body%>, <%=note.click_action%>, <%=note.click_acti
|
|||||||
</a>
|
</a>
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<ul>
|
<ul>
|
||||||
<li><%= Html.ActionLink("Backups","Backups") %></li>
|
<li><%= Html.TranslatedActionLink("Backups","Backups") %></li>
|
||||||
<li><%= Html.ActionLink("Restaurations", "Restore") %></li>
|
<li><%= Html.TranslatedActionLink("Restaurations", "Restore") %></li>
|
||||||
<li><%= Html.ActionLink("Create backup","CreateBackup") %></li>
|
<li><%= Html.TranslatedActionLink("Create backup","CreateBackup") %></li>
|
||||||
<li><%= Html.ActionLink("Remove user", "RemoveUser") %></li>
|
<li><%= Html.TranslatedActionLink("Remove user", "RemoveUser") %></li>
|
||||||
<li><%= Html.ActionLink("Add a Role ", "AddRole") %></li>
|
<li><%= Html.TranslatedActionLink("Add a Role ", "AddRole") %></li>
|
||||||
<li><%= Html.ActionLink("Remove role", "RemoveRoleQuery") %></li>
|
<li><%= Html.TranslatedActionLink("Remove role", "RemoveRoleQuery") %></li>
|
||||||
<li><%= Html.ActionLink("User list", "UserList") %></li>
|
<li><%= Html.TranslatedActionLink("User list", "UserList") %></li>
|
||||||
<li><%= Html.ActionLink("Role list", "RoleList") %></li>
|
<li><%= Html.TranslatedActionLink("Role list", "RoleList") %></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<a href="<%=Url.RouteUrl("Blogs", new { user = HttpContext.Current.User.Identity.Name } )%>" accesskey = "B" class="menuitem" >
|
<a href="<%=Url.RouteUrl("Blogs", new { user = HttpContext.Current.User.Identity.Name } )%>" accesskey = "B" class="menuitem" >
|
||||||
@ -93,7 +93,7 @@ else {%> Yavsc.notice(<%=note.body%>, <%=note.click_action%>, <%=note.click_acti
|
|||||||
<div id="copyr">
|
<div id="copyr">
|
||||||
<a href="http://yavsc.pschneider.fr/Blogs/UserPost/paul/License">© 2015 GNU GENERAL PUBLIC LICENSE <i>Version 3, 29 June 2007</i></a>
|
<a href="http://yavsc.pschneider.fr/Blogs/UserPost/paul/License">© 2015 GNU GENERAL PUBLIC LICENSE <i>Version 3, 29 June 2007</i></a>
|
||||||
</div>
|
</div>
|
||||||
<%= Html.ActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
|
<%= Html.TranslatedActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
|
||||||
<% foreach ( Link link in Html.Thanks()) { %>
|
<% foreach ( Link link in Html.Thanks()) { %>
|
||||||
<a class="thanks" href="<%=link.Url%>"><% if (link.Image !=null) {
|
<a class="thanks" href="<%=link.Url%>"><% if (link.Image !=null) {
|
||||||
%><img src="<%= link.Image %>" alt="<%= link.Text %>"/></a>
|
%><img src="<%= link.Image %>" alt="<%= link.Text %>"/></a>
|
||||||
|
@ -63,13 +63,8 @@ else {%> Yavsc.notice(<%=note.body%>, <%=note.click_action%>, <%=note.click_acti
|
|||||||
<div id="copyr">
|
<div id="copyr">
|
||||||
<a href="http://yavsc.pschneider.fr/Blogs/UserPost/paul/License">© 2015 GNU GENERAL PUBLIC LICENSE <i>Version 3, 29 June 2007</i></a>
|
<a href="http://yavsc.pschneider.fr/Blogs/UserPost/paul/License">© 2015 GNU GENERAL PUBLIC LICENSE <i>Version 3, 29 June 2007</i></a>
|
||||||
</div>
|
</div>
|
||||||
<%= Html.ActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
|
<%= Html.TranslatedActionLink("Formulaire de contact","Contact","Home",null, new { @class="thanks" }) %>
|
||||||
<% foreach ( Link link in Html.Thanks()) { %>
|
|
||||||
<a class="thanks" href="<%=link.Url%>"><% if (link.Image !=null) {
|
|
||||||
%><img src="<%= link.Image %>" alt="<%= link.Text %>"/></a>
|
|
||||||
<% } else { %>
|
|
||||||
<a class="thanks" href="<%=link.Url%>"><%= link.Text %></a>
|
|
||||||
<% }} %>
|
|
||||||
</footer><div class="modal"></div>
|
</footer><div class="modal"></div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -404,7 +404,12 @@ module.exports = [
|
|||||||
return '\n\n' + content + '\n\n';
|
return '\n\n' + content + '\n\n';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
filter: 'div',
|
||||||
|
replacement: function (content) {
|
||||||
|
return '\n\n' + content + '\n\n';
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
filter: 'br',
|
filter: 'br',
|
||||||
replacement: function () {
|
replacement: function () {
|
||||||
@ -457,7 +462,6 @@ module.exports = [
|
|||||||
return '`' + content + '`';
|
return '`' + content + '`';
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
filter: function (node) {
|
filter: function (node) {
|
||||||
return node.nodeName === 'A' && node.getAttribute('href');
|
return node.nodeName === 'A' && node.getAttribute('href');
|
||||||
|
@ -3,34 +3,38 @@
|
|||||||
return jQuery.widget('Yavsc.hidefieldset', {
|
return jQuery.widget('Yavsc.hidefieldset', {
|
||||||
options: {
|
options: {
|
||||||
jsCallBack: null,
|
jsCallBack: null,
|
||||||
disabled: false
|
disabled: false,
|
||||||
|
classOpen: 'fa-minus',
|
||||||
|
classClosed: 'fa-plus',
|
||||||
},
|
},
|
||||||
button: null,
|
button: null,
|
||||||
_create: function() {
|
_create: function() {
|
||||||
var $ctl = $(this.element);
|
var $ctl = $(this.element);
|
||||||
var _this = this;
|
var _this = this;
|
||||||
var _btn = $ctl.children('legend');
|
var _btn = $ctl.children('legend');
|
||||||
if (!this.options.disabled && _btn) {
|
if (!_this.options.disabled && _btn) {
|
||||||
_btn.addClass('actionlink');
|
_btn.css('cursor','pointer');
|
||||||
_btn.addClass('fa');
|
_btn.addClass('fa');
|
||||||
_btn.addClass('fa-eye');
|
_btn.addClass(_this.options.classClosed);
|
||||||
this.button = _btn;
|
_this.button = _btn;
|
||||||
$ctl.children(':not(legend)').hide();
|
$ctl.children(':not(legend)').hide();
|
||||||
this.button.click( function (e) {
|
var onactivate = function (e) {
|
||||||
if ( _btn.hasClass('fa-eye') ) {
|
if ( _btn.hasClass(_this.options.classClosed) ) {
|
||||||
_btn.removeClass('fa-eye');
|
_btn.removeClass(_this.options.classClosed);
|
||||||
_btn.addClass('fa-eye-slash');
|
_btn.addClass(_this.options.classOpen);
|
||||||
|
$ctl.children(':not(legend)').show();
|
||||||
$ctl.children(':not(legend)').show();
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
_btn.addClass('fa-eye');
|
_btn.addClass(_this.options.classClosed);
|
||||||
_btn.removeClass('fa-eye-slash');
|
_btn.removeClass(_this.options.classOpen);
|
||||||
|
$ctl.children(':not(legend)').hide();
|
||||||
$ctl.children(':not(legend)').hide();
|
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
};
|
||||||
|
_this.button.click(onactivate);
|
||||||
|
//_this.button.hover(onactivate,onactivate);
|
||||||
|
//_this.click(onactivate);
|
||||||
|
//_this.hover(onactivate,onactivate);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
})})(jQuery);
|
})})(jQuery);
|
||||||
|
@ -2,14 +2,19 @@
|
|||||||
var Yavsc = (function(apiBaseUrl){
|
var Yavsc = (function(apiBaseUrl){
|
||||||
var self = {};
|
var self = {};
|
||||||
|
|
||||||
|
self.apiBaseUrl = (apiBaseUrl || '/api');
|
||||||
|
|
||||||
self.dumpprops = function (obj) {
|
self.dumpprops = function (obj) {
|
||||||
var str = "";
|
var str = "";
|
||||||
for(var k in obj)
|
for(var k in obj)
|
||||||
if (obj.hasOwnProperty(k))
|
if (obj.hasOwnProperty(k))
|
||||||
str += k + " = " + obj[k] + "\n";
|
str += " "+k + " = " + obj[k] + "\n";
|
||||||
return (str); }
|
return (str); };
|
||||||
|
|
||||||
self.apiBaseUrl = (apiBaseUrl || '/api');
|
self.logObj = function(obj) {
|
||||||
|
console.log('obj:'+obj);
|
||||||
|
console.log('-props:'+self.dumpprops(obj));
|
||||||
|
};
|
||||||
|
|
||||||
self.showHide = function () {
|
self.showHide = function () {
|
||||||
var id = $(this).attr('did');
|
var id = $(this).attr('did');
|
||||||
|
@ -23,11 +23,12 @@
|
|||||||
};
|
};
|
||||||
var id = $ratectl.data('id');
|
var id = $ratectl.data('id');
|
||||||
$ratectl.addClass('rate');
|
$ratectl.addClass('rate');
|
||||||
|
$ratectl.css('cursor','pointer');
|
||||||
$ratectl.click(function (e) {
|
$ratectl.click(function (e) {
|
||||||
var oset = $ratectl.offset();
|
var oset = $ratectl.offset();
|
||||||
var x = ((e.pageX - oset.left) * 100 ) / $ratectl.width();
|
var x = ((e.pageX - oset.left) * 100 ) / ($ratectl.innerWidth());
|
||||||
// here, x may be greater than 100, or lower than 0 here,
|
// here, x may be greater than 100, (or lower than 0, i saw it),
|
||||||
// depending on padding & mergin on the $ratectl node,
|
// depending on padding & margin on the $ratectl node,
|
||||||
// when it's a span, and there is a line return within,
|
// when it's a span, and there is a line return within,
|
||||||
// the values on second star line are false.
|
// the values on second star line are false.
|
||||||
// Time to sanitize:
|
// Time to sanitize:
|
||||||
@ -40,21 +41,21 @@
|
|||||||
});
|
});
|
||||||
},
|
},
|
||||||
updateRate: function (ctl,rate) {
|
updateRate: function (ctl,rate) {
|
||||||
// Using 10 half stars, it makes 11 choices (from 0 to 10)
|
var _this = this;
|
||||||
var rounded = Math.round(rate / 11);
|
var rounded = Math.round(rate / 10);
|
||||||
var HasHalf = (rounded % 2 == 1);
|
var HasHalf = (rounded % 2 == 1);
|
||||||
var NbFilled = Math.floor(rounded / 2);
|
var NbFilled = Math.floor(rounded / 2);
|
||||||
var NbEmpty = (5 - NbFilled) - ((HasHalf)?1:0) ;
|
var NbEmpty = (5 - NbFilled) - ((HasHalf)?1:0) ;
|
||||||
ctl.empty();
|
ctl.empty();
|
||||||
var i=0;
|
var i=0;
|
||||||
for (i=0; i<NbFilled; i++)
|
for (i=0; i<NbFilled; i++)
|
||||||
ctl.append('<i class="fa fa-star"></i>');
|
ctl.append('<i class="fa fa-star" title="'+_this.options.labels[i]+'"></i>');
|
||||||
if (HasHalf)
|
if (HasHalf) { i++;
|
||||||
ctl.append('<i class="fa fa-star-half-o"></i>');
|
ctl.append('<i class="fa fa-star-half-o" title="'+_this.options.labels[i]+'"></i>');
|
||||||
|
}
|
||||||
for (var j=0; j<NbEmpty; j++, i++ )
|
for (var j=0; j<NbEmpty; j++, i++ )
|
||||||
ctl.append('<i class="fa fa-star-o"></i>');
|
ctl.append('<i class="fa fa-star-o" title="'+_this.options.labels[i]+'"></i>');
|
||||||
|
|
||||||
ctl.append
|
|
||||||
},
|
},
|
||||||
})})(jQuery);
|
})})(jQuery);
|
||||||
}).call(this);
|
}).call(this);
|
||||||
|
48
web/Scripts/yavsc.user.js
Normal file
48
web/Scripts/yavsc.user.js
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
(function() {
|
||||||
|
(function(jQuery) {
|
||||||
|
return jQuery.widget('Yavsc.user', {
|
||||||
|
options: {
|
||||||
|
disabled: false,
|
||||||
|
circles: [],
|
||||||
|
},
|
||||||
|
buttonCircles: null,
|
||||||
|
buttonBlog: null,
|
||||||
|
buttonInstMsg: null,
|
||||||
|
buttonMailling: null,
|
||||||
|
buttonAdmin: null,
|
||||||
|
circles: [],
|
||||||
|
_create: function() {
|
||||||
|
var _this = this;
|
||||||
|
var $this = $(this);
|
||||||
|
var $ctl = $(this.element);
|
||||||
|
if (!_this.options.disabled) {
|
||||||
|
var roles = $this.data('roles');
|
||||||
|
var bcounter = $this.data('blog-counter');
|
||||||
|
var circlesspec = $this.data('circles');
|
||||||
|
console.log('here');
|
||||||
|
if (bcounter)
|
||||||
|
if (bcounter>0) {
|
||||||
|
_this.buttonBlog = $('<a><i class="fa fa-folder"></i></a>');
|
||||||
|
$ctl.append(_this.buttonBlog);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (circlesspec)
|
||||||
|
{
|
||||||
|
_this.circles = circlesspec.split(' ');
|
||||||
|
}
|
||||||
|
|
||||||
|
var text = '<form><fieldset class="mayhide"><i class="fa fa-users"></i></fieldset>\n';
|
||||||
|
for (i = 0; i < _this.options.circles.length; i++) {
|
||||||
|
var checked = _this.circles.indexOf(_this.options.circles[i])>-1;
|
||||||
|
if (checked) checked = " checked";
|
||||||
|
text += "<input type='checkbox'"+checked+">"+ _this.options.circles[i] + "</option>\n";
|
||||||
|
}
|
||||||
|
text += "</form>";
|
||||||
|
_this.buttonCircles = $(text);
|
||||||
|
$ctl.append(_this.buttonCircles);
|
||||||
|
return $ctl;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
})})(jQuery);
|
||||||
|
}).call(this);
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
<%@ Page Title="Successfully changed your password" Language="C#" Inherits="System.Web.Mvc.ViewPage" MasterPageFile="~/Models/App.master" %>
|
<%@ Page Title="Successfully changed your password" Language="C#" Inherits="System.Web.Mvc.ViewPage" MasterPageFile="~/Models/App.master" %>
|
||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
<div>
|
<div>
|
||||||
<%= Html.ActionLink("Register","Register")%></div>
|
<%= Html.TranslatedActionLink("Register","Register")%></div>
|
||||||
<div><%= Html.ActionLink("ChangePassword","ChangePassword")%></div>
|
<div><%= Html.TranslatedActionLink("ChangePassword","ChangePassword")%></div>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<input type="submit"/>
|
<input type="submit"/>
|
||||||
<% } %></div>
|
<% } %></div>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<%= Html.ActionLink("S'enregistrer","GetRegister",new {returnUrl=ViewData["returnUrl"]}, new { @class="actionlink" }) %>
|
<%= Html.TranslatedActionLink("S'enregistrer","GetRegister",new {returnUrl=ViewData["returnUrl"]}, new { @class="actionlink" }) %>
|
||||||
</div>
|
</div>
|
||||||
<div class="panel">
|
<div class="panel">
|
||||||
<a href="<%= Url.RouteUrl ("Default", new { controller = "Google", action= "Login", returnUrl=ViewData["returnUrl"] }) %>" class="actionlink">
|
<a href="<%= Url.RouteUrl ("Default", new { controller = "Google", action= "Login", returnUrl=ViewData["returnUrl"] }) %>" class="actionlink">
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
%><aside>This user is Admin.</aside>
|
%><aside>This user is Admin.</aside>
|
||||||
<% } %>
|
<% } %>
|
||||||
<aside>
|
<aside>
|
||||||
<%= Html.ActionLink("Changer de mot de passe","ChangePassword", "Account",null, new { @class="actionlink" })%>
|
<%= Html.TranslatedActionLink("Changer de mot de passe","ChangePassword", "Account",null, new { @class="actionlink" })%>
|
||||||
<%= Html.ActionLink("Désincription", "Unregister", "Account", new { id = ViewData["UserName"] } , new { @class="actionlink" })%>
|
<%= Html.TranslatedActionLink("Désincription", "Unregister", "Account", new { id = ViewData["UserName"] } , new { @class="actionlink" })%>
|
||||||
</aside>
|
</aside>
|
||||||
<aside>
|
<aside>
|
||||||
<code>Compte bancaire:<%= Model.HasBankAccount %></code>
|
<code>Compte bancaire:<%= Model.HasBankAccount %></code>
|
||||||
@ -29,7 +29,7 @@
|
|||||||
<%= Html.ValidationSummary() %>
|
<%= Html.ValidationSummary() %>
|
||||||
<%= Html.Hidden("UserName",ViewData["ProfileUserName"]) %>
|
<%= Html.Hidden("UserName",ViewData["ProfileUserName"]) %>
|
||||||
|
|
||||||
<fieldset><legend>Informations publiques
|
<fieldset class="mayhide"><legend>Informations publiques
|
||||||
<i>
|
<i>
|
||||||
<img src="<%=Url.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="avatar" class="avatar" />
|
<img src="<%=Url.AvatarUrl(HttpContext.Current.User.Identity.Name)%>" alt="avatar" class="avatar" />
|
||||||
<%=Html.Encode(Model.UserName)%> APE:<%=Model.MEACode%> <%=Model.WebSite%> </i></legend>
|
<%=Html.Encode(Model.UserName)%> APE:<%=Model.MEACode%> <%=Model.WebSite%> </i></legend>
|
||||||
@ -56,7 +56,7 @@ Avatar :
|
|||||||
</span>
|
</span>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset><legend>Informations administratives
|
<fieldset class="mayhide"><legend>Informations administratives
|
||||||
<i><%= string.IsNullOrWhiteSpace(Model.Name)?"KO":Html.Encode(Model.Name) %>
|
<i><%= string.IsNullOrWhiteSpace(Model.Name)?"KO":Html.Encode(Model.Name) %>
|
||||||
</i>
|
</i>
|
||||||
</legend>
|
</legend>
|
||||||
@ -66,7 +66,7 @@ Avatar :
|
|||||||
<%= Html.ValidationMessage("Name", "*") %></span>
|
<%= Html.ValidationMessage("Name", "*") %></span>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset><legend>Blog <i><%=Html.Encode(Model.BlogTitle)%>
|
<fieldset class="mayhide"><legend>Blog <i><%=Html.Encode(Model.BlogTitle)%>
|
||||||
<%= Model.BlogVisible?null:Html.Translate("hidden") %>
|
<%= Model.BlogVisible?null:Html.Translate("hidden") %>
|
||||||
</i></legend>
|
</i></legend>
|
||||||
<div class="spanel">
|
<div class="spanel">
|
||||||
@ -81,7 +81,7 @@ Avatar :
|
|||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
<fieldset><legend>Contact
|
<fieldset class="mayhide"><legend>Contact
|
||||||
<i><%=Html.Encode(Model.Phone)%> <%=Html.Encode(Model.Mobile)%>
|
<i><%=Html.Encode(Model.Phone)%> <%=Html.Encode(Model.Mobile)%>
|
||||||
<%=Html.Encode(Model.HasPostalAddress?"adresse OK":"adresse KO")%></i>
|
<%=Html.Encode(Model.HasPostalAddress?"adresse OK":"adresse KO")%></i>
|
||||||
</legend>
|
</legend>
|
||||||
@ -111,30 +111,35 @@ Avatar :
|
|||||||
<%= Html.ValidationMessage("Country", "*") %>
|
<%= Html.ValidationMessage("Country", "*") %>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset><legend>Disponibilité
|
<fieldset class="mayhide"><legend>Profile préstataire</legend>
|
||||||
|
|
||||||
|
<fieldset class="mayhide"><legend>Disponibilité
|
||||||
<i><%=Html.Encode(
|
<i><%=Html.Encode(
|
||||||
string.IsNullOrWhiteSpace(Model.GoogleCalendar)?"KO":"OK")%></i></legend>
|
string.IsNullOrWhiteSpace(Model.GoogleCalendar)?"KO":"OK")%></i></legend>
|
||||||
<div class="spanel">
|
<div class="spanel">
|
||||||
<%= Html.LabelFor(model => model.GoogleCalendar) %> :
|
<%= Html.LabelFor(model => model.GoogleCalendar) %> :
|
||||||
|
|
||||||
<%= Html.Encode(Model.GoogleCalendar) %>
|
<%= Html.Encode(Model.GoogleCalendar) %>
|
||||||
<%= Html.ActionLink("Choisir l'agenda","ChooseCalendar","Google",new { returnUrl= Request.Url.AbsolutePath }, new { @class="actionlink" }) %>
|
<%= Html.TranslatedActionLink("Choisir l'agenda","ChooseCalendar","Google",new { returnUrl= Request.Url.AbsolutePath }, new { @class="actionlink" }) %>
|
||||||
</div></fieldset>
|
</div></fieldset>
|
||||||
<fieldset><legend>Informations de facturation
|
<fieldset class="mayhide"><legend>Informations de facturation
|
||||||
<i> <%=Html.Encode(Model.HasBankAccount?"OK":"KO")%> </i>
|
<i> <%=Html.Encode(Model.HasBankAccount?"OK":"KO")%> </i>
|
||||||
</legend>
|
</legend>
|
||||||
|
|
||||||
|
<p>Saisissez ici vos informations de facturation.</p>
|
||||||
|
|
||||||
|
<fieldset class="mayhide">
|
||||||
|
<legend>Par le numéro de compte</legend>
|
||||||
<div class="spanel">
|
<div class="spanel">
|
||||||
<%= Html.LabelFor(model => model.BankCode) %> :
|
<%= Html.LabelFor(model => model.BankCode) %> :
|
||||||
<%= Html.TextBox("BankCode") %>
|
<%= Html.TextBox("BankCode") %>
|
||||||
<%= Html.ValidationMessage("BankCode", "*") %>
|
<%= Html.ValidationMessage("BankCode", "*") %>
|
||||||
</div><div class="spanel">
|
</div>
|
||||||
|
<div class="spanel">
|
||||||
<%= Html.LabelFor(model => model.WicketCode) %> :
|
<%= Html.LabelFor(model => model.WicketCode) %> :
|
||||||
<%= Html.TextBox("WicketCode") %>
|
<%= Html.TextBox("WicketCode") %>
|
||||||
<%= Html.ValidationMessage("WicketCode", "*") %>
|
<%= Html.ValidationMessage("WicketCode", "*") %>
|
||||||
</div><div class="spanel">
|
</div><div class="spanel">
|
||||||
|
|
||||||
<%= Html.LabelFor(model => model.AccountNumber) %> :
|
<%= Html.LabelFor(model => model.AccountNumber) %> :
|
||||||
<%= Html.TextBox("AccountNumber") %>
|
<%= Html.TextBox("AccountNumber") %>
|
||||||
<%= Html.ValidationMessage("AccountNumber", "*") %>
|
<%= Html.ValidationMessage("AccountNumber", "*") %>
|
||||||
@ -142,7 +147,11 @@ Avatar :
|
|||||||
<%= Html.LabelFor(model => model.BankedKey) %> :
|
<%= Html.LabelFor(model => model.BankedKey) %> :
|
||||||
<%= Html.TextBox("BankedKey") %>
|
<%= Html.TextBox("BankedKey") %>
|
||||||
<%= Html.ValidationMessage("BankedKey", "*") %>
|
<%= Html.ValidationMessage("BankedKey", "*") %>
|
||||||
</div><div class="spanel">
|
</div>
|
||||||
|
</fieldset>
|
||||||
|
<fieldset class="mayhide">
|
||||||
|
<legend>Par codes BIC et IBAN</legend>
|
||||||
|
<div class="spanel">
|
||||||
<%= Html.LabelFor(model => model.BIC) %> :
|
<%= Html.LabelFor(model => model.BIC) %> :
|
||||||
<%= Html.TextBox("BIC") %>
|
<%= Html.TextBox("BIC") %>
|
||||||
<%= Html.ValidationMessage("BIC", "*") %>
|
<%= Html.ValidationMessage("BIC", "*") %>
|
||||||
@ -152,7 +161,11 @@ Avatar :
|
|||||||
<%= Html.ValidationMessage("IBAN", "*") %>
|
<%= Html.ValidationMessage("IBAN", "*") %>
|
||||||
</div>
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset><legend>Interface utilisateur
|
</fieldset>
|
||||||
|
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset class="mayhide"><legend>Interface utilisateur
|
||||||
<i> <%=Html.Encode(Model.UITheme)%> </i>
|
<i> <%=Html.Encode(Model.UITheme)%> </i>
|
||||||
</legend>
|
</legend>
|
||||||
<span>
|
<span>
|
||||||
@ -161,11 +174,11 @@ Avatar :
|
|||||||
<%= Html.ValidationMessage("UITheme", "*") %></span>
|
<%= Html.ValidationMessage("UITheme", "*") %></span>
|
||||||
|
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<input type="submit"/>
|
<input type="submit" id="submit" value="<%=Html.Translate("SubmitChanges")%>" />
|
||||||
<% } %>
|
<% } %>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
$('fieldset').hidefieldset();
|
$('input').on('change',function(){$(this).addClass('dirty'); $('#submit').addClass('clickme');});
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<% foreach (string u in (string[])ViewData["admins"]) { %>
|
<% foreach (string u in (string[])ViewData["admins"]) { %>
|
||||||
<tr><td>
|
<tr><td>
|
||||||
<%= u %> </td><td>
|
<%= u %> </td><td>
|
||||||
<%= Html.ActionLink("Remove","RemoveFromRole",
|
<%= Html.TranslatedActionLink("Remove","RemoveFromRole",
|
||||||
new { username = u, rolename="Admin", returnUrl = Request.Url.PathAndQuery })%>
|
new { username = u, rolename="Admin", returnUrl = Request.Url.PathAndQuery })%>
|
||||||
|
|
||||||
</td></tr>
|
</td></tr>
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<%@ Page Language="C#" MasterPageFile="~/Models/AppAdmin.master" Inherits="System.Web.Mvc.ViewPage<DataAccess>" %>
|
<%@ Page Language="C#" MasterPageFile="~/Models/AppAdmin.master" Inherits="System.Web.Mvc.ViewPage<DataAccess>" %>
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
|
|
||||||
<%=Html.ActionLink("Create a database backup", "CreateBackup")%><br/>
|
<%=Html.TranslatedActionLink("Create a database backup", "CreateBackup")%><br/>
|
||||||
<%=Html.ActionLink("Restaurations", "Restore")%><br/>
|
<%=Html.TranslatedActionLink("Restaurations", "Restore")%><br/>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -6,14 +6,14 @@ Roles:
|
|||||||
<ul>
|
<ul>
|
||||||
<%foreach (string rolename in (string[]) Model){ %>
|
<%foreach (string rolename in (string[]) Model){ %>
|
||||||
|
|
||||||
<li><%=Html.ActionLink(rolename,"UsersInRole", new { rolename = rolename }, new { @class="actionlink" } )%> <% if (Roles.IsUserInRole("Admin")) { %>
|
<li><%=Html.TranslatedActionLink(rolename,"UsersInRole", new { rolename = rolename }, new { @class="actionlink" } )%> <% if (Roles.IsUserInRole("Admin")) { %>
|
||||||
<%= Html.ActionLink("Supprimer","RemoveRole", new { rolename = rolename }, new { @class="actionlink" } ) %>
|
<%= Html.TranslatedActionLink("Supprimer","RemoveRole", new { rolename = rolename }, new { @class="actionlink" } ) %>
|
||||||
<% } %></li>
|
<% } %></li>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<% if (Roles.IsUserInRole("Admin")) { %>
|
<% if (Roles.IsUserInRole("Admin")) { %>
|
||||||
<%= Html.ActionLink("Ajouter un rôle","AddRole", null, new { @class="actionlink" } ) %>
|
<%= Html.TranslatedActionLink("Ajouter un rôle","AddRole", null, new { @class="actionlink" } ) %>
|
||||||
<% } %>
|
<% } %>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
|
@ -16,8 +16,8 @@
|
|||||||
|
|
||||||
|
|
||||||
<% if (Roles.IsUserInRole("Admin")) { %>
|
<% if (Roles.IsUserInRole("Admin")) { %>
|
||||||
<%= Html.ActionLink(LocalizedText.Remove,"RemoveUser", new { username = user.UserName, returnUrl = Request.Url.PathAndQuery }, new { @class="actionlink" } ) %>
|
<%= Html.TranslatedActionLink(LocalizedText.Remove,"RemoveUser", new { username = user.UserName, returnUrl = Request.Url.PathAndQuery }, new { @class="actionlink" } ) %>
|
||||||
<%= Html.ActionLink("Blogger","AddUserToRole", new { username = user.UserName, rolename="Blogger", returnUrl = Request.Url.PathAndQuery }, new { @class="actionlink" } ) %>
|
<%= Html.TranslatedActionLink("Blogger","AddUserToRole", new { username = user.UserName, rolename="Blogger", returnUrl = Request.Url.PathAndQuery }, new { @class="actionlink" } ) %>
|
||||||
<% } %>
|
<% } %>
|
||||||
</li><% }%>
|
</li><% }%>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
<ul>
|
<ul>
|
||||||
<li><%= Html.ActionLink("Notifier des cercles d'un évennement","NotifyEvent","BackOffice" ) %></li>
|
<li><%= Html.TranslatedActionLink("Notifier des cercles d'un évennement","NotifyEvent","BackOffice" ) %></li>
|
||||||
</ul>
|
</ul>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -13,28 +13,37 @@
|
|||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
|
|
||||||
<aside>
|
<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") %>
|
, 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>
|
||||||
|
|
||||||
|
<aside>
|
||||||
|
|
||||||
<% using(Html.BeginForm("Edit","Blogs")) { %>
|
<% using(Html.BeginForm("Edit","Blogs")) { %>
|
||||||
<fieldset>
|
|
||||||
<legend>Contrôle d'accès au Billet</legend>
|
<fieldset class="mayhide">
|
||||||
<%= Html.LabelFor(model => model.Visible) %> : <%= Html.CheckBox( "Visible" ) %>
|
<legend>Attacher des fichiers</legend>
|
||||||
<i id="note_visible">Note: Si un ou plusieurs cercles sont séléctionnés ici,
|
<input type="file" name="attached" id="postedfile" multiple>
|
||||||
le billet ne sera visible qu'aux membres de ces cercles.</i>
|
<input type="button" value="attacher les ficher" onclick="submitFile()">
|
||||||
<%= Html.ValidationMessage("Visible", "*") %>
|
<input type="button" value="importer les documents" onclick="submitImport()">
|
||||||
<%= Html.LabelFor(model => model.AllowedCircles) %>
|
</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.ListBox("AllowedCircles") %>
|
||||||
<%= Html.ValidationMessage("AllowedCircles", "*") %>
|
<%= Html.ValidationMessage("AllowedCircles", "*") %>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<span id="viewsource">
|
<fieldset class="mayhide">
|
||||||
<i class="fa fa-code menuitem"><%=Html.Translate("View_source")%></i></span>
|
<legend><i class="fa fa-code"></i><%=Html.Translate("BillSourceCode")%></legend>
|
||||||
<span id="hidesource" class="hidden">
|
|
||||||
<i class="fa fa-code menuitem"><%=Html.Translate("Hide_source")%></i>
|
|
||||||
</span>
|
|
||||||
<fieldset id="source" class="hidden">
|
|
||||||
<%=Html.Hidden("Author")%>
|
<%=Html.Hidden("Author")%>
|
||||||
<%=Html.Hidden("Id")%>
|
<%=Html.Hidden("Id")%>
|
||||||
<%= Html.LabelFor(model => model.Photo) %>
|
<%= Html.LabelFor(model => model.Photo) %>
|
||||||
@ -46,17 +55,11 @@ Visible: <%= Model.Visible? "oui":"non" %> <%= Html.ActionLink("Supprimer","Remo
|
|||||||
<%=Html.TextArea("Content")%>
|
<%=Html.TextArea("Content")%>
|
||||||
<%=Html.ValidationMessage("Content")%>
|
<%=Html.ValidationMessage("Content")%>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<input type="submit" id="validate" value="Valider" class="fa fa-check menuitem">
|
<input type="submit" id="validate" class="actionlink">
|
||||||
|
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
<form id="frmajax">
|
</aside>
|
||||||
<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>
|
|
||||||
|
|
||||||
<span class="placard editable" for="Photo">
|
<span class="placard editable" for="Photo">
|
||||||
<img src="<%=Model.Photo%>" alt="photo" id="vphoto" >
|
<img src="<%=Model.Photo%>" alt="photo" id="vphoto" >
|
||||||
@ -75,17 +78,6 @@ Visible: <%= Model.Visible? "oui":"non" %> <%= Html.ActionLink("Supprimer","Remo
|
|||||||
|
|
||||||
$(document).ready(function(){
|
$(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('.placard').hallo({plugins: {'hallo-image-insert-edit': { lang: 'fr' } } });
|
||||||
|
|
||||||
jQuery('#vtitle').hallo({
|
jQuery('#vtitle').hallo({
|
||||||
@ -125,7 +117,7 @@ jQuery('#vcontent').hallo({
|
|||||||
'tr',
|
'tr',
|
||||||
'td',
|
'td',
|
||||||
'th',
|
'th',
|
||||||
'style'
|
'style',
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
'halloblacklist': {tags: ['style']},
|
'halloblacklist': {tags: ['style']},
|
||||||
@ -238,6 +230,12 @@ var data = new FormData($('#frmajax').get()[0]);
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
|
||||||
|
$('input').on('change',function(){$(this).addClass('dirty'); $('#validate').addClass('clickme');});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
|
||||||
</asp:Content>
|
</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" %>
|
<%@ Register Assembly="Yavsc.WebControls" TagPrefix="yavsc" Namespace="Yavsc.WebControls" %>
|
||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<% foreach (var g in Model.GroupByTitle()) { %>
|
<% 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>
|
<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">
|
<div>
|
||||||
<% if (p.Photo != null ) { %>
|
<% if (p.Photo != null ) { %>
|
||||||
<img src="<%=p.Photo%>" alt="<%=p.Photo%>" class="photo">
|
<img src="<%=p.Photo%>" alt="<%=p.Photo%>" class="photo">
|
||||||
<% } %>
|
<% } else {} %>
|
||||||
<p><%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %></p>
|
<%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %>
|
||||||
<%= Html.Partial("PostActions",p)%>
|
<%= Html.Partial("PostActions",p) %>
|
||||||
</div> <% } %>
|
</div><% // we only show the first. It's a preview
|
||||||
|
break;
|
||||||
|
} %>
|
||||||
</div>
|
</div>
|
||||||
<% } %>
|
<% } %>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,23 +1,23 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BasePost>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<BasePost>" %>
|
||||||
<% if (Membership.GetUser()!=null) { %>
|
<% if (Membership.GetUser()!=null) { %>
|
||||||
<aside>
|
<aside>
|
||||||
(<%= Model.Posted.ToString("D") %>
|
(<%= Html.Translate("Posted") %> <%= Model.Posted.ToString("D") %>
|
||||||
- <%= Model.Modified.ToString("D") %> <%= Model.Visible? "":", Invisible!" %>)
|
- <%= Html.Translate("Edited") %> <%= Model.Modified.ToString("D") %> <%= Model.Visible? "":", Invisible!" %>)
|
||||||
<%= Html.Partial("RateControl",Model)%>
|
<%= Html.Partial("RateControl",Model)%>
|
||||||
<%
|
<%
|
||||||
if (Membership.GetUser().UserName==Model.Author || Roles.IsUserInRole("Admin"))
|
if (Membership.GetUser().UserName==Model.Author || Roles.IsUserInRole("Admin"))
|
||||||
{ %>
|
{ %>
|
||||||
<%= Html.Partial("TagControl",Model)%>
|
<%= Html.Partial("TagControl",Model)%>
|
||||||
<% if (Model is BlogEntry) { %>
|
<% if (Model is BlogEntry) { %>
|
||||||
<i class="fa fa-pencil"><%=Html.Translate("DoComment")%></i>
|
|
||||||
<% using (Html.BeginForm("Comment","Blogs")) { %>
|
<% using (Html.BeginForm("Comment","Blogs")) { %>
|
||||||
<filedset>
|
<fieldset>
|
||||||
<%=Html.Hidden("Author")%>
|
<legend><i class="fa fa-pencil"></i><%=Html.Translate("DoComment")%></legend>
|
||||||
|
<div> <%=Html.Hidden("Author")%>
|
||||||
<%=Html.Hidden("Title")%>
|
<%=Html.Hidden("Title")%>
|
||||||
<%=Html.TextArea("CommentText","")%>
|
<%=Html.TextArea("CommentText","")%>
|
||||||
<%=Html.Hidden("PostId",Model.Id)%>
|
<%=Html.Hidden("PostId",Model.Id)%>
|
||||||
<input type="submit" value="Poster un commentaire"/>
|
<input type="submit" value="Poster un commentaire"/></div>
|
||||||
</filedset> <% } %>
|
</fieldset> <% } %>
|
||||||
<% } %>
|
<% } %>
|
||||||
<a href="<%= Url.RouteUrl("Default", new { action = "EditId", postid = Model.Id })%>" class="actionlink">
|
<a href="<%= Url.RouteUrl("Default", new { action = "EditId", postid = Model.Id })%>" class="actionlink">
|
||||||
<i class="fa fa-pencil"><%=Html.Translate("Edit")%></i>
|
<i class="fa fa-pencil"><%=Html.Translate("Edit")%></i>
|
||||||
|
@ -2,28 +2,23 @@
|
|||||||
<ul id="tags<%=Model.Id%>" data-postid="<%=Model.Id%>" class="editablelist ">
|
<ul id="tags<%=Model.Id%>" data-postid="<%=Model.Id%>" class="editablelist ">
|
||||||
<% if (Model.Tags != null) {
|
<% if (Model.Tags != null) {
|
||||||
foreach ( var tagname in Model.Tags) { %>
|
foreach ( var tagname in Model.Tags) { %>
|
||||||
<li class="tagname fa fa-tag"><%=tagname%></li> <%
|
<li><i class="fa fa-tag"></i><%=tagname%></li><%
|
||||||
%><% } } %>
|
%><% } } %>
|
||||||
</ul>
|
</ul>
|
||||||
<% if (Membership.GetUser()!=null) { %>
|
<% if (Membership.GetUser()!=null) { %>
|
||||||
<% if (Membership.GetUser().UserName==Model.Author || Roles.IsUserInRole("Admin"))
|
<% if (Membership.GetUser().UserName==Model.Author || Roles.IsUserInRole("Admin"))
|
||||||
{ // grant all permissions: to choose a given set of tags, also create some new tags %>
|
{ // grant all permissions: to choose a given set of tags, also create some new tags %>
|
||||||
|
|
||||||
<span id="viewtagger<%=Model.Id%>">
|
<form id="tagger<%=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%>" >
|
|
||||||
<fieldset>
|
<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>
|
<label for="newtag"><%= Html.Translate("Tag_name")%>: </label>
|
||||||
<span id="Err_tag<%=Model.Id%>" class="error"></span>
|
<span id="Err_tag<%=Model.Id%>" class="error"></span>
|
||||||
<input type="text" id="newtag<%=Model.Id%>" class="taginput">
|
<input type="text" id="newtag<%=Model.Id%>" class="taginput">
|
||||||
<span id="Err_model<%=Model.Id%>" class="error"></span>
|
<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>
|
</fieldset>
|
||||||
</form>
|
</form>
|
||||||
<script>
|
<script>
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<asp:Content ContentPlaceHolderID="overHeaderOne" ID="header1" runat="server">
|
<asp:Content ContentPlaceHolderID="overHeaderOne" ID="header1" runat="server">
|
||||||
<h1>
|
<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>
|
- <a href="<%= Url.RouteUrl("Default",new {controller="Home" }) %>"><%= YavscHelpers.SiteName %></a>
|
||||||
</h1>
|
</h1>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<BlogEntryCollection>" MasterPageFile="~/Models/App.master"%>
|
<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<BlogEntryCollection>" MasterPageFile="~/Models/App.master"%>
|
||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
Pas d'article trouvé ici: <<%= Html.Encode(ViewData["BlogUser"]) %>/<%= Html.Encode(ViewData["PostTitle"]) %>>
|
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>
|
</asp:Content>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<a href="<%= Url.RouteUrl("BlogByTitle", new{ user=Model.Author, title = Model.Title}) %>">
|
<a href="<%= Url.RouteUrl("BlogByTitle", new{ user=Model.Author, title = Model.Title}) %>">
|
||||||
<%=Model.Title%>
|
<%=Model.Title%>
|
||||||
</a>
|
</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>
|
<a href="<%=Url.Content("~/")%>"><%= YavscHelpers.SiteName %></a>
|
||||||
</h1>
|
</h1>
|
||||||
@ -34,7 +34,7 @@
|
|||||||
<img class="avatar" src="<%= Url.RouteUrl("Default", new { action="Avatar", controller="Account", user = c.From } ) %>" alt="<%=c.From%>"/>
|
<img class="avatar" src="<%= Url.RouteUrl("Default", new { action="Avatar", controller="Account", user = c.From } ) %>" alt="<%=c.From%>"/>
|
||||||
<%= Html.Markdown(c.CommentText) %>
|
<%= Html.Markdown(c.CommentText) %>
|
||||||
<% if (Model.Author == username || c.From == username ) { %>
|
<% 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><% } %>
|
||||||
</div><% } %>
|
</div><% } %>
|
||||||
|
@ -22,15 +22,18 @@
|
|||||||
|
|
||||||
<% foreach (var g in Model.GroupByTitle()) { %>
|
<% foreach (var g in Model.GroupByTitle()) { %>
|
||||||
<div class="panel">
|
<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">
|
<div class="postpreview">
|
||||||
|
<a href="<%= Url.RouteUrl("Titles", new { title = g.Key}) %>" >
|
||||||
<% if (p.Photo!=null) { %>
|
<% if (p.Photo!=null) { %>
|
||||||
<img src="<%=p.Photo%>" alt="photo" class="photo"><% } %>
|
<img src="<%=p.Photo%>" alt="<%=g.Key%>" >
|
||||||
<%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %>
|
<% } else { %>
|
||||||
<%= Html.Partial("PostActions",p)%>
|
<%} %><%=Html.Encode(g.Key)%></a>
|
||||||
</div> <% } %>
|
<div>
|
||||||
|
<%= Html.Markdown(p.Intro,"/bfiles/"+p.Id+"/") %>
|
||||||
|
<%= Html.Partial("PostActions",p)%></div>
|
||||||
|
</div> <% break; } %>
|
||||||
</div>
|
</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>
|
</asp:Content>
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
<%@ Page Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
<%@ Page Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
<%= Html.ActionLink("Delete","FileSystem") %>
|
<%= Html.TranslatedActionLink("Delete","FileSystem") %>
|
||||||
<%= Html.ActionLink("Rename","FileSystem") %>
|
<%= Html.TranslatedActionLink("Rename","FileSystem") %>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -4,9 +4,9 @@
|
|||||||
</h1>
|
</h1>
|
||||||
<ul>
|
<ul>
|
||||||
<% foreach (System.IO.FileInfo fi in Model) { %>
|
<% foreach (System.IO.FileInfo fi in Model) { %>
|
||||||
<li> <%= Html.ActionLink(fi.Name,"Details",new {id = fi.Name}) %> </li>
|
<li> <%= Html.TranslatedActionLink(fi.Name,"Details",new {id = fi.Name}) %> </li>
|
||||||
<% } %>
|
<% } %>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<%= Html.ActionLink("Ajouter des fichiers","Create") %>
|
<%= Html.TranslatedActionLink("Ajouter des fichiers","Create") %>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -10,27 +10,19 @@
|
|||||||
<% if (Model.Count>0) { %>
|
<% if (Model.Count>0) { %>
|
||||||
<ul>
|
<ul>
|
||||||
<% foreach (Command cmd in Model.Values) { %>
|
<% foreach (Command cmd in Model.Values) { %>
|
||||||
<li>
|
<li><div>
|
||||||
<%= cmd.Id %>
|
<%= cmd.Id %>/<%= cmd.CreationDate %>/<%= cmd.Status %>
|
||||||
<%= cmd.CreationDate %>
|
<%= cmd.ProductRef %></div>
|
||||||
|
<div>
|
||||||
<%= cmd.Status %>
|
<%= Html.Partial(cmd.GetType().Name,cmd) %>
|
||||||
<%= cmd.ProductRef %>
|
</div>
|
||||||
<ul>
|
|
||||||
<% if (cmd.Parameters!=null)
|
|
||||||
foreach (string key in cmd.Parameters.Keys) { %>
|
|
||||||
<li><%=key%>: <%=cmd.Parameters[key]%></li>
|
|
||||||
<% } %>
|
|
||||||
</ul>
|
|
||||||
</li>
|
</li>
|
||||||
<% } %>
|
<% } %>
|
||||||
</ul>
|
</ul>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
|
||||||
<ul><li>
|
<ul><li>
|
||||||
<%= Html.ActionLink("Catalog","Catalog" ) %>
|
<%= Html.TranslatedActionLink("Catalog","Catalog" ) %>
|
||||||
</li><li>
|
</li><li>
|
||||||
<%= Html.ActionLink("Estimates","Estimates" ) %>
|
<%= Html.TranslatedActionLink("Estimates","Estimates" ) %>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
</asp:Content>
|
</asp:Content>
|
@ -1,16 +1,11 @@
|
|||||||
<%@ Page Title="Booking" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<SimpleBookingQuery>" %>
|
<%@ Page Title="Booking" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<SimpleBookingQuery>" %>
|
||||||
|
|
||||||
<asp:Content ContentPlaceHolderID="init" ID="init1" runat="server">
|
<asp:Content ContentPlaceHolderID="init" ID="init1" runat="server">
|
||||||
<% Title = Html.Translate("BookingTitle"+Model.MEACode) + " - " + YavscHelpers.SiteName; %>
|
<% Title = Html.Encode(ViewBag.Activity.Title) + " - " + YavscHelpers.SiteName; %>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
<asp:Content ContentPlaceHolderID="overHeaderOne" ID="header1" runat="server">
|
<asp:Content ContentPlaceHolderID="overHeaderOne" ID="header1" runat="server">
|
||||||
<h1>
|
<h1><%=Html.Encode(ViewBag.Activity.Title) %> - <a href="<%= Url.RouteUrl("Default",new {controller="Home" }) %>"><%= YavscHelpers.SiteName %></a>
|
||||||
<a href="<%=Url.RouteUrl("FrontOffice",new {action="Booking", MEACode=Model.MEACode })%>">
|
|
||||||
<img href="<%= ViewData["Photo"] %>" alt="">
|
|
||||||
<%=Html.Translate("BookingTitle"+Model.MEACode)%>
|
|
||||||
</a>
|
|
||||||
- <a href="<%= Url.RouteUrl("Default",new {controller="Home" }) %>"><%= YavscHelpers.SiteName %></a>
|
|
||||||
</h1>
|
</h1>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
@ -30,6 +25,8 @@
|
|||||||
<%= Html.Hidden("MEACode") %>
|
<%= Html.Hidden("MEACode") %>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend><%= Html.Translate("YourNeed") %></legend>
|
<legend><%= Html.Translate("YourNeed") %></legend>
|
||||||
|
<%= Html.Translate("Si vous le voulez, vous pouvez détailler ici votre demande, en matière de compétences attendues:") %>
|
||||||
|
<div>
|
||||||
<input type="hidden" name="Need" id="Need" value="">
|
<input type="hidden" name="Need" id="Need" value="">
|
||||||
<ul >
|
<ul >
|
||||||
<% if (ViewData ["Needs"]!=null)
|
<% if (ViewData ["Needs"]!=null)
|
||||||
@ -38,12 +35,15 @@
|
|||||||
<% } %>
|
<% } %>
|
||||||
</ul>
|
</ul>
|
||||||
<%= Html.ValidationMessageFor(model=>model.Need) %>
|
<%= Html.ValidationMessageFor(model=>model.Need) %>
|
||||||
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend><%= Html.Translate("PerformanceDate") %></legend>
|
<legend><%= Html.Translate("PerformanceDate") %></legend>
|
||||||
Intervention souhaitée le
|
<%= Html.Translate("Indiquez ici la date souhaitée pour la prestation.") %>
|
||||||
<input type="text" id="PreferedDate" name="PreferedDate" class="start date" value="<%=Model.PreferedDate.ToString("yyyy/MM/dd")%>">
|
<div>
|
||||||
|
Intervention souhaitée le : <input type="text" id="PreferedDate" name="PreferedDate" class="start date" style="z-index: 99 !important;" value="<%=Model.PreferedDate.ToString("yyyy/MM/dd")%>">
|
||||||
<%= Html.ValidationMessageFor( model=>model.PreferedDate ) %>
|
<%= Html.ValidationMessageFor( model=>model.PreferedDate ) %>
|
||||||
|
</div>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<script>
|
<script>
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
@ -70,12 +70,12 @@ Intervention souhaitée le
|
|||||||
'autoclose': true } ;
|
'autoclose': true } ;
|
||||||
|
|
||||||
// $('#PreferedHour').timepicker(tpconfig);
|
// $('#PreferedHour').timepicker(tpconfig);
|
||||||
$('#PreferedDate').datepicker(dpconfig);
|
$('#PreferedDate').datepicker(dpconfig).zIndex(4);
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<input type="submit">
|
<input type="submit" value="<%=Html.Translate("Search")%>" class="fullwidth actionlink">
|
||||||
<% } %>
|
<% } %>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
|
@ -10,12 +10,12 @@
|
|||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
<% foreach (ProductCategory pc in Model.Categories ) { %>
|
<% foreach (ProductCategory pc in Model.Categories ) { %>
|
||||||
<div>
|
<div>
|
||||||
<h2><%= Html.ActionLink( pc.Name, "ProductCategory", new { id = Model.Name, pc = pc.Reference }, new { @class="actionlink" } ) %></h2>
|
<h2><%= Html.TranslatedActionLink( pc.Name, "ProductCategory", new { id = Model.Name, pc = pc.Reference }, new { @class="actionlink" } ) %></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% foreach (Product p in pc.Products ) { %>
|
<% foreach (Product p in pc.Products ) { %>
|
||||||
<div>
|
<div>
|
||||||
<h3><%= Html.ActionLink( p.Name, "Product", new { id = Model.Name, pc = pc.Reference , pref = p.Reference }, new { @class="actionlink" } ) %></h3>
|
<h3><%= Html.TranslatedActionLink( p.Name, "Product", new { id = Model.Name, pc = pc.Reference , pref = p.Reference }, new { @class="actionlink" } ) %></h3>
|
||||||
<p>
|
<p>
|
||||||
<%= p.Description %>
|
<%= p.Description %>
|
||||||
<% if (p.Images !=null)
|
<% if (p.Images !=null)
|
||||||
|
@ -2,16 +2,18 @@
|
|||||||
|
|
||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
<% foreach (Brand b in Model.Brands ) { %><div>
|
<% foreach (Brand b in Model.Brands ) { %><div>
|
||||||
<h1> <%= Html.ActionLink( b.Name, "Brand", new { id = b.Name }, new { @class="actionlink" } ) %> </h1>
|
<h1> <%= Html.TranslatedActionLink( b.Name, "Brand", new { id = b.Name }, new { @class="actionlink" } ) %> </h1>
|
||||||
<p><i><%= Html.Encode( b.Slogan ) %></i></p>
|
<p><i><%= Html.Encode( b.Slogan ) %></i></p>
|
||||||
<% foreach (ProductCategory pc in b.Categories ) { %>
|
<% foreach (ProductCategory pc in b.Categories ) { %>
|
||||||
<div>
|
<div>
|
||||||
<h2><%= Html.ActionLink( pc.Name, "ProductCategory", new { brandid= b.Name, pcid = pc.Reference }, new { @class="actionlink" } ) %></h2>
|
<h2><%= Html.TranslatedActionLink( pc.Name, "ProductCategory", new { brandid= b.Name, pcid = pc.Reference }, new { @class="actionlink" } ) %></h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% foreach (Product p in pc.Products ) { %>
|
<% foreach (Product p in pc.Products ) { %>
|
||||||
<div>
|
<div>
|
||||||
<h3><%= Html.ActionLink( p.Name, "Product", new { id = b.Name, pc = pc.Reference , pref = p.Reference }, new { @class="actionlink" } ) %></h3>
|
<h3><%= Html.TranslatedActionLink( p.Name, "Product",
|
||||||
|
new { id = b.Name, pc = pc.Reference , pref = p.Reference },
|
||||||
|
new { @class="actionlink" } ) %></h3>
|
||||||
<p>
|
<p>
|
||||||
<%= p.Description %>
|
<%= p.Description %>
|
||||||
<% if (p.Images !=null)
|
<% if (p.Images !=null)
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
<%@ Page Title="Commande" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<FormCollection>" %>
|
<%@ Page Title="Commande" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<Command>" %>
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
|
|
||||||
<%= Html.ActionLink("Votre panier","Basket","FrontOffice" ) %>
|
(pas implémenté)
|
||||||
|
|
||||||
|
<%= Html.TranslatedActionLink("Votre panier","Basket","FrontOffice" ) %>
|
||||||
|
|
||||||
<ul><li>
|
<ul><li>
|
||||||
<%= Html.ActionLink("Catalog","Catalog" ) %>
|
<%= Html.TranslatedActionLink("Catalog","Catalog" ) %>
|
||||||
</li><li>
|
</li><li>
|
||||||
<%= Html.ActionLink("Estimates","Estimates" ) %>
|
<%= Html.TranslatedActionLink("Estimates","Estimates" ) %>
|
||||||
</li></ul>
|
</li></ul>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<%@ Page Title="Devis" Language="C#" Inherits="System.Web.Mvc.ViewPage<Estimate>" MasterPageFile="~/Models/App.master" %>
|
<%@ Page Title="DoAnEstimate" Language="C#" Inherits="System.Web.Mvc.ViewPage<Estimate>" MasterPageFile="~/Models/App.master" %>
|
||||||
<%@ Register Assembly="Yavsc.WebControls" TagPrefix="yavsc" Namespace="Yavsc.WebControls" %>
|
<%@ Register Assembly="Yavsc.WebControls" TagPrefix="yavsc" Namespace="Yavsc.WebControls" %>
|
||||||
<asp:Content ContentPlaceHolderID="head" ID="head1" runat="server" >
|
<asp:Content ContentPlaceHolderID="head" ID="head1" runat="server" >
|
||||||
<script type="text/javascript" src="<%=Url.Content("~/Scripts/stupidtable.js")%>"></script>
|
<script type="text/javascript" src="<%=Url.Content("~/Scripts/stupidtable.js")%>"></script>
|
@ -2,20 +2,20 @@
|
|||||||
|
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
<ul>
|
<ul>
|
||||||
<li><%= Html.ActionLink("Catalog","Catalog" ) %></li>
|
<li><%= Html.TranslatedActionLink("Catalog") %></li>
|
||||||
<li><%= Html.ActionLink("Basket","Basket" ) %> </li>
|
<li><%= Html.TranslatedActionLink("Basket" ) %> </li>
|
||||||
<li><%= Html.ActionLink("Estimates","Estimates" ) %></li>
|
<li><%= Html.TranslatedActionLink("YourEstimates") %></li>
|
||||||
<li><%= Html.ActionLink("Estimate","Estimate" ) %></li>
|
<li><%= Html.TranslatedActionLink("DoAnEstimate") %></li>
|
||||||
<% if (User.Identity.IsAuthenticated) { %>
|
<% if (User.Identity.IsAuthenticated) { %>
|
||||||
<li><%= Html.ActionLink("Activities","Activities" ) %></li>
|
<li><%= Html.TranslatedActionLink("Activities" ) %></li>
|
||||||
<li><%= Html.ActionLink("ManagedSiteSkills", "Skills" ) %></li>
|
<li><%= Html.TranslatedActionLink("SiteSkills") %></li>
|
||||||
<li><%= Html.ActionLink("UserSkills","UserSkills" ) %></li>
|
<li><%= Html.TranslatedActionLink("UserSkills") %></li>
|
||||||
<% } else { %>
|
<% } else { %>
|
||||||
<li><%= Html.Translate("Activities") %>,
|
<li> <i><%= Html.Translate("AuthenticatedOnly") %>:
|
||||||
<%= Html.Translate("ManagedSiteSkills") %>,
|
<%= Html.Translate("Activities") %>,
|
||||||
<%= Html.Translate("UserSkills") %>:
|
<%= Html.Translate("SiteSkills") %>,
|
||||||
<i><%= Html.Translate("AuthenticatedOnly") %></i></li>
|
<%= Html.Translate("UserSkills") %></i>
|
||||||
<% }%>
|
</li> <% }%>
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -1,29 +1,41 @@
|
|||||||
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<PerformerProfile>" %>
|
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<PerformerProfile>" %>
|
||||||
|
<% ViewBag.BlogCounter = BlogManager.GetPostCounter(Model.UserName); %>
|
||||||
|
<% ViewBag.WithinCircles = CircleManager.Circles(Model.UserName); %>
|
||||||
<div class="performer">
|
<div class="performer">
|
||||||
<h2>
|
<h2>
|
||||||
<img src="<%= Model.Avatar %>" alt="" class="bigavatar">
|
<img src="<%= Model.Avatar %>" alt="" class="bigavatar">
|
||||||
<%=Html.Encode(Model.UserName)%>
|
<span class="username" data-type="user" data-roles="" data-blog-counter="<%=ViewBag.BlogCounter%>" data-circles="" ><%=Html.Encode(Model.UserName)%></span>
|
||||||
<%=Html.Partial("RateUserSkillControl", Model) %>
|
<%=Html.Partial("RateUserSkillControl", Model) %>
|
||||||
</h2>
|
</h2>
|
||||||
<p>
|
<address>
|
||||||
<i class="fa fa-envelope">
|
|
||||||
<% if (Membership.GetUser()!=null) { %>
|
<% if (Membership.GetUser()!=null) { %>
|
||||||
|
<a href="mailto:<%=Model.EMail%>">
|
||||||
|
<i class="fa fa-envelope"></i>
|
||||||
<<%=Html.Encode(Model.EMail)%>>
|
<<%=Html.Encode(Model.EMail)%>>
|
||||||
<% } else { %><%=Html.LabelFor(m => m.EMail)%>:
|
</a>
|
||||||
<i><%= Html.Translate("AuthenticatedOnly") %></i>
|
<% } else { %>
|
||||||
|
<i class="fa fa-envelope"></i>
|
||||||
|
<%=Html.LabelFor(m => m.EMail)%>:
|
||||||
|
<%= Html.Translate("AuthenticatedOnly") %>
|
||||||
<% }%>
|
<% }%>
|
||||||
</i>
|
</address>
|
||||||
</p>
|
|
||||||
|
|
||||||
<% if (Model.Skills==null) { %>
|
<% if (Model.Skills==null) { %>
|
||||||
<%= Html.Translate("") %>
|
Cet utilisateur n'a pas saisi de compétence particulière ...
|
||||||
<% } else
|
<% } else if (Model.Skills.Count()>0) { %>
|
||||||
foreach (var userskill in Model.Skills) { %>
|
|
||||||
|
<ul style="padding:0; margin:0;"> <% foreach (var userskill in Model.Skills) { %>
|
||||||
<li class="skillname" data-sid="<%= userskill.Id %>">
|
<li class="skillname" data-sid="<%= userskill.Id %>">
|
||||||
<%= userskill.SkillName %>
|
<%= userskill.SkillName %>
|
||||||
<div data-type="comment">"<%= userskill.Comment %>"</div>
|
<% if (!string.IsNullOrWhiteSpace(userskill.Comment)) { %>
|
||||||
|
<div data-type="comment">
|
||||||
|
"<%= userskill.Comment %>"
|
||||||
|
</div><% } %>
|
||||||
<%=Html.Partial("RateUserSkillControl", userskill) %>
|
<%=Html.Partial("RateUserSkillControl", userskill) %>
|
||||||
</li>
|
</li>
|
||||||
|
<% } %>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<% } %>
|
<% } %>
|
||||||
<% if (Model.HasCalendar()) { %>
|
<% if (Model.HasCalendar()) { %>
|
||||||
<i class="fa fa-calendar-check" ><%= Html.Translate("Google_calendar") %> : <%= Html.Translate("available") %>.</i><br>
|
<i class="fa fa-calendar-check" ><%= Html.Translate("Google_calendar") %> : <%= Html.Translate("available") %>.</i><br>
|
||||||
@ -31,5 +43,9 @@ foreach (var userskill in Model.Skills) { %>
|
|||||||
<% if (BlogManager.GetPostCounter(Model.UserName)>0) { %>
|
<% if (BlogManager.GetPostCounter(Model.UserName)>0) { %>
|
||||||
<a href="<%=Url.RouteUrl("Blogs",new { user = Model.UserName } )%>">
|
<a href="<%=Url.RouteUrl("Blogs",new { user = Model.UserName } )%>">
|
||||||
<i class="fa fa-folder"><%=Model.BlogTitle %></i>
|
<i class="fa fa-folder"><%=Model.BlogTitle %></i>
|
||||||
</a></div>
|
</a>
|
||||||
<% } %>
|
<% } %>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
</div>
|
@ -1,23 +1,29 @@
|
|||||||
<%@ Page Language="C#" Title="Performers" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<PerformerAvailability>>" %>
|
<%@ Page Language="C#" Title="Performers" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<PerformerAvailability>>" %>
|
||||||
|
|
||||||
|
<asp:Content ContentPlaceHolderID="head" ID="headContent" runat="server">
|
||||||
|
<script type="text/javascript" src="/Scripts/yavsc.user.js"></script>
|
||||||
|
</asp:Content>
|
||||||
|
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
<% foreach (var available in Model) { %>
|
<% foreach (var available in Model) { %>
|
||||||
<div class="usercard">
|
<div class="panel">
|
||||||
<%= Html.Partial("Performer", available.Profile ) %><br>
|
<%= Html.Partial("Performer", available.Profile ) %>
|
||||||
<% if (available.DateAvailable) {
|
<div class="availability">
|
||||||
%>
|
<% if (available.DateAvailable) { %>
|
||||||
<%= Html.Translate("ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable") %>
|
<%= Html.Translate("ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis") %>
|
||||||
<%
|
<%= available.PerformanceDate.ToString("D") %>
|
||||||
}
|
<% } else if (available.Profile.HasCalendar()) { %>
|
||||||
else if (available.Profile.HasCalendar()) {
|
<%= Html.Translate("ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis") %>
|
||||||
%>
|
<%= available.PerformanceDate.ToString("D") %>
|
||||||
<%= Html.Translate("ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable") %>
|
<% } else {%>
|
||||||
<%
|
|
||||||
} else {
|
|
||||||
%>
|
|
||||||
<%= Html.Translate("ThisPerformerDoesntGiveAccessToHisCalendar") %>
|
<%= Html.Translate("ThisPerformerDoesntGiveAccessToHisCalendar") %>
|
||||||
|
<% } %>
|
||||||
|
</div>
|
||||||
<%
|
</div>
|
||||||
} %></div><% } %>
|
<% } %>
|
||||||
|
<script>
|
||||||
|
$(document).ready(function(){
|
||||||
|
$("[data-type='user']").user({circles:<%=Ajax.JSonString(ViewData["Circles"])%>});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
<% foreach (Product p in Model.Products ) { %>
|
<% foreach (Product p in Model.Products ) { %>
|
||||||
|
|
||||||
<h3><%= Html.ActionLink( p.Name, "Product", new { id = ViewData["BrandId"], pc = Model.Reference , pref = p.Reference }, new { @class="actionlink" } ) %></h3>
|
<h3><%= Html.TranslatedActionLink( p.Name, "Product", new { id = ViewData["BrandId"], pc = Model.Reference , pref = p.Reference }, new { @class="actionlink" } ) %></h3>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<%= p.Description %>
|
<%= p.Description %>
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
<% Title = ViewData ["BrandName"] + " " + Model.Name; %>
|
<% Title = ViewData ["BrandName"] + " " + Model.Name; %>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ContentPlaceHolderID="header" ID="headerContent" runat="server">
|
<asp:Content ContentPlaceHolderID="header" ID="headerContent" runat="server">
|
||||||
<h2> <%=ViewData ["ProdCatName"]%> - <%= Html.ActionLink( Model.Name, "Product", new { id = ViewData ["BrandName"], pc = ViewData ["ProdCatRef"] , pref = Model.Reference } ) %></h2>
|
<h2> <%=ViewData ["ProdCatName"]%> - <%= Html.TranslatedActionLink( Model.Name, "Product", new { id = ViewData ["BrandName"], pc = ViewData ["ProdCatRef"] , pref = Model.Reference } ) %></h2>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
<%@ Page Title="My estimates" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Estimate>>" %>
|
<%@ Page Title="YourEstimates" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<Estimate>>" %>
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
<% if (((int)ViewData["ResponsibleCount"])>0) { %>
|
<% if (((int)ViewData["ResponsibleCount"])>0) { %>
|
||||||
<div>
|
<div>
|
||||||
@ -7,7 +7,7 @@ Les estimations que vous avez faites (<%=ViewData["ResponsibleCount"]%>):<br>
|
|||||||
foreach (Estimate estim in Model) {
|
foreach (Estimate estim in Model) {
|
||||||
if (string.Compare(estim.Responsible,(string) ViewData["UserName"])==0) { %>
|
if (string.Compare(estim.Responsible,(string) ViewData["UserName"])==0) { %>
|
||||||
|
|
||||||
<%= Html.ActionLink("Titre:"+estim.Title+" Client:"+estim.Client,"Estimate",new{id=estim.Id}) %>
|
<%= Html.TranslatedActionLink("Titre:"+estim.Title+" Client:"+estim.Client,"Estimate",new{id=estim.Id}) %>
|
||||||
<br>
|
<br>
|
||||||
<% }}%>
|
<% }}%>
|
||||||
</div>
|
</div>
|
||||||
@ -17,7 +17,7 @@ foreach (Estimate estim in Model) {
|
|||||||
Vos estimations en tant que client
|
Vos estimations en tant que client
|
||||||
(<%=ViewData["ClientCount"]%>):<br>
|
(<%=ViewData["ClientCount"]%>):<br>
|
||||||
<% foreach (Estimate estim in Model) { %>
|
<% foreach (Estimate estim in Model) { %>
|
||||||
<%= Html.ActionLink("Titre:"+estim.Title+" Responsable:"+estim.Responsible,"Estimate",new{id=estim.Id}) %>
|
<%= Html.TranslatedActionLink("Titre:"+estim.Title+" Responsable:"+estim.Responsible,"Estimate",new{id=estim.Id}) %>
|
||||||
<br><% } %>
|
<br><% } %>
|
||||||
</div>
|
</div>
|
||||||
<% } %>
|
<% } %>
|
7
web/Views/Home/About.aspx
Normal file
7
web/Views/Home/About.aspx
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<%@ Page Title="About" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||||
|
|
||||||
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
|
|
||||||
|
<p><%= Html.Translate("AboutContent") %></p>
|
||||||
|
|
||||||
|
</asp:Content>
|
@ -1,7 +1,7 @@
|
|||||||
<%@ Page Title="Contact" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
<%@ Page Title="Contact" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||||
|
|
||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
<div class="panel">
|
<div class="bigpanel">
|
||||||
<p>
|
<p>
|
||||||
Directeur : Paul Schneider<br>
|
Directeur : Paul Schneider<br>
|
||||||
Adresse postale : 2 Boulevard Aristide Briand<br>
|
Adresse postale : 2 Boulevard Aristide Briand<br>
|
||||||
@ -12,7 +12,7 @@ SIRET : 803 851 674 00017<br>
|
|||||||
Activité Principalement Exercée (APE) : 5829C Édition de logiciels applicatifs<br>
|
Activité Principalement Exercée (APE) : 5829C Édition de logiciels applicatifs<br>
|
||||||
</p>
|
</p>
|
||||||
<% using (Html.BeginForm("Contact", "Home")) { %>
|
<% using (Html.BeginForm("Contact", "Home")) { %>
|
||||||
<fieldset>
|
<fieldset style="width:100%">
|
||||||
<legend>Message</legend>
|
<legend>Message</legend>
|
||||||
<p>
|
<p>
|
||||||
<%= Html.Label("email") %>:
|
<%= Html.Label("email") %>:
|
||||||
@ -27,7 +27,7 @@ Activité Principalement Exercée (APE) : 5829C Édition de logiciels applicatif
|
|||||||
<p>
|
<p>
|
||||||
<%= Html.Label("body") %>:
|
<%= Html.Label("body") %>:
|
||||||
<%= Html.ValidationMessage("body") %><br/>
|
<%= Html.ValidationMessage("body") %><br/>
|
||||||
<%= Html.TextArea("body") %>
|
<%= Html.TextArea("body",new {@rows="25"}) %>
|
||||||
</p>
|
</p>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
<input type="submit" value="<%=Html.Translate("Submit")%>">
|
<input type="submit" value="<%=Html.Translate("Submit")%>">
|
||||||
|
@ -1,5 +1,22 @@
|
|||||||
<%@ Page Title="Credits" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
<%@ Page Title="Credits" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||||
|
|
||||||
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
<div>Icons made by <a href="http://www.flaticon.com/authors/vectorgraphit" title="Vectorgraphit">Vectorgraphit</a> from <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a></div>
|
|
||||||
|
|
||||||
|
|
||||||
|
<div>
|
||||||
|
|
||||||
|
<%=Html.Translate("Icons_made_by")%> <a href="http://www.flaticon.com/authors/vectorgraphit" title="Vectorgraphit">Vectorgraphit</a>
|
||||||
|
<%=Html.Translate("from")%> <a href="http://www.flaticon.com" title="Flaticon">www.flaticon.com</a>
|
||||||
|
<%=Html.Translate("is_licensed_by")%> <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0">CC BY 3.0</a>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<% foreach ( Yavsc.Helpers.Link link in Html.Thanks()) { %>
|
||||||
|
<a href="<%=link.Url%>"><% if (link.Image !=null) {
|
||||||
|
%><img src="<%= link.Image %>" alt="<%= link.Text %>"/></a>
|
||||||
|
<% } else { %>
|
||||||
|
<a href="<%=link.Url%>"><%= link.Text %></a>
|
||||||
|
<% }} %>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -13,5 +13,6 @@
|
|||||||
<%= Html.Partial("Activity",a) %>
|
<%= Html.Partial("Activity",a) %>
|
||||||
<% } %>
|
<% } %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
|
||||||
|
39
web/Views/Home/Test.aspx
Normal file
39
web/Views/Home/Test.aspx
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
<%@ Page Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||||
|
<asp:Content ID="initContent" ContentPlaceHolderID="init" runat="server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="headContent" ContentPlaceHolderID="head" runat="server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="overHeaderOneContent" ContentPlaceHolderID="overHeaderOne" runat="server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="headerContent" ContentPlaceHolderID="header" runat="server">
|
||||||
|
</asp:Content>
|
||||||
|
<asp:Content ID="MainContentContent" ContentPlaceHolderID="MainContent" runat="server">
|
||||||
|
|
||||||
|
<div class="test1">
|
||||||
|
<div class="panel">
|
||||||
|
A single panel
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="test2">
|
||||||
|
<div class="panel">
|
||||||
|
Premier panneau
|
||||||
|
</div>
|
||||||
|
<div class="panel">
|
||||||
|
Deuxième et dernier panneau
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="test3">
|
||||||
|
<div class="panel">
|
||||||
|
Premier panneau
|
||||||
|
</div>
|
||||||
|
<div class="panel">
|
||||||
|
Deuxième panneau
|
||||||
|
</div>
|
||||||
|
<div class="panel">
|
||||||
|
Troisème et dernier panneau
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</asp:Content>
|
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||||
<div>
|
<div>
|
||||||
<%= Html.ActionLink("blogs","Index","WorkFlow") %>
|
<%= Html.TranslatedActionLink("blogs","Index","WorkFlow") %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
|
@ -53,6 +53,7 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
|
|||||||
<add assembly="System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
<add assembly="System.IdentityModel.Selectors, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
<add assembly="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
<add assembly="System.Web.WebPages.Deployment, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||||
<add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
<add assembly="Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
|
||||||
|
<add assembly="System.Transactions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||||
</assemblies>
|
</assemblies>
|
||||||
</compilation>
|
</compilation>
|
||||||
<customErrors mode="Off">
|
<customErrors mode="Off">
|
||||||
@ -166,6 +167,8 @@ http://msdn2.microsoft.com/en-us/library/b5ysx397.aspx
|
|||||||
<add name="MarkdownDeep" url="http://www.toptensoftware.com/markdowndeep/" />
|
<add name="MarkdownDeep" url="http://www.toptensoftware.com/markdowndeep/" />
|
||||||
<add name="MarkdownHelper" url="http://www.nuget.org/packages/MarkdownHelper" />
|
<add name="MarkdownHelper" url="http://www.nuget.org/packages/MarkdownHelper" />
|
||||||
<add name="Postgresql" url="http://www.postgresql.org" image="/App_Themes/images/pgsql.png" />
|
<add name="Postgresql" url="http://www.postgresql.org" image="/App_Themes/images/pgsql.png" />
|
||||||
|
<add name="Animate.css, Another thing from Daniel Eden." url="https://daneden.github.io/animate.css/" />
|
||||||
|
<add name="GitHub" url="https://github.com/" image="/App_Themes/images/GitHub.ico" />
|
||||||
</to>
|
</to>
|
||||||
</thanks>
|
</thanks>
|
||||||
<circleProviders defaultProvider="NpgsqlCircleProvider">
|
<circleProviders defaultProvider="NpgsqlCircleProvider">
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
<Target Name="Deploy" Condition="'$(DeployDir)' != '' And !$(SkipCopyUnchangedFiles)" DependsOnTargets="Build">
|
<Target Name="Deploy" Condition="'$(DeployDir)' != '' And !$(SkipCopyUnchangedFiles)" DependsOnTargets="Build">
|
||||||
<Copy SourceFiles="@(FileWrites)" DestinationFolder="$(DeployDir)/%(RelativeDir)" />
|
<Copy SourceFiles="@(FileWrites)" DestinationFolder="$(DeployDir)/%(RelativeDir)" />
|
||||||
<Copy SourceFiles="@(Content)" DestinationFolder="$(DeployDir)/%(RelativeDir)" />
|
<Copy SourceFiles="@(Content)" DestinationFolder="$(DeployDir)/%(RelativeDir)" />
|
||||||
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="$(DeployDir)\Web.config" Condition="Exists('Web.$(Configuration).config')"/>
|
<TransformXml Source="Web.config" Transform="Web.$(Configuration).config" Destination="$(DeployDir)/Web.config" Condition="Exists('Web.$(Configuration).config')"/>
|
||||||
|
|
||||||
</Target>
|
</Target>
|
||||||
</Project>
|
</Project>
|
||||||
|
|
||||||
|
@ -137,6 +137,7 @@
|
|||||||
<Reference Include="System.Data.Linq" />
|
<Reference Include="System.Data.Linq" />
|
||||||
<Reference Include="System.ServiceModel" />
|
<Reference Include="System.ServiceModel" />
|
||||||
<Reference Include="System.ServiceModel.Web" />
|
<Reference Include="System.ServiceModel.Web" />
|
||||||
|
<Reference Include="Microsoft.CSharp" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Folder Include="Admin\" />
|
<Folder Include="Admin\" />
|
||||||
@ -276,7 +277,6 @@
|
|||||||
<Content Include="Views\Admin\Backups.aspx" />
|
<Content Include="Views\Admin\Backups.aspx" />
|
||||||
<Content Include="Views\Admin\Restore.aspx" />
|
<Content Include="Views\Admin\Restore.aspx" />
|
||||||
<Content Include="Views\Admin\Restored.aspx" />
|
<Content Include="Views\Admin\Restored.aspx" />
|
||||||
<Content Include="Views\FrontOffice\Estimates.aspx" />
|
|
||||||
<Content Include="Catalog.xml" />
|
<Content Include="Catalog.xml" />
|
||||||
<Content Include="RegistrationMail.txt" />
|
<Content Include="RegistrationMail.txt" />
|
||||||
<Content Include="Views\FrontOffice\Writting.ascx" />
|
<Content Include="Views\FrontOffice\Writting.ascx" />
|
||||||
@ -302,7 +302,6 @@
|
|||||||
<Content Include="Views\Account\Profile.aspx" />
|
<Content Include="Views\Account\Profile.aspx" />
|
||||||
<Content Include="robots.txt" />
|
<Content Include="robots.txt" />
|
||||||
<Content Include="Scripts\form-new-user.js" />
|
<Content Include="Scripts\form-new-user.js" />
|
||||||
<Content Include="Views\FrontOffice\Estimate.aspx" />
|
|
||||||
<Content Include="Views\FrontOffice\EventPub.aspx" />
|
<Content Include="Views\FrontOffice\EventPub.aspx" />
|
||||||
<Content Include="Views\Account\Circles.aspx" />
|
<Content Include="Views\Account\Circles.aspx" />
|
||||||
<Content Include="Views\Account\Register.ascx" />
|
<Content Include="Views\Account\Register.ascx" />
|
||||||
@ -754,7 +753,19 @@
|
|||||||
<Content Include="Content\images\icons-svg\video-white.svg" />
|
<Content Include="Content\images\icons-svg\video-white.svg" />
|
||||||
<Content Include="Scripts\jquery.mobile-1.4.5.js" />
|
<Content Include="Scripts\jquery.mobile-1.4.5.js" />
|
||||||
<Content Include="Scripts\jquery.mobile-1.4.5.min.js" />
|
<Content Include="Scripts\jquery.mobile-1.4.5.min.js" />
|
||||||
<Content Include="Views\FrontOffice\ActivitySkills.aspx" />
|
<Content Include="Views\Home\About.aspx" />
|
||||||
|
<Content Include="Scripts\yavsc.user.js" />
|
||||||
|
<Content Include="Views\FrontOffice\SiteSkills.aspx" />
|
||||||
|
<Content Include="Views\FrontOffice\YourEstimates.aspx" />
|
||||||
|
<Content Include="Views\FrontOffice\DoAnEstimate.aspx" />
|
||||||
|
<Content Include="App_Themes\animate.css" />
|
||||||
|
<Content Include="App_Themes\images\live-concert-fg.png" />
|
||||||
|
<Content Include="App_Themes\images\live-concert-scene.jpg" />
|
||||||
|
<Content Include="App_Themes\links.css" />
|
||||||
|
<Content Include="App_Themes\dark\links.css" />
|
||||||
|
<Content Include="App_Themes\clear\links.css" />
|
||||||
|
<Content Include="App_Themes\images\splash-image-2.jpg" />
|
||||||
|
<Content Include="Views\Home\Test.aspx" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
|
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" />
|
||||||
@ -795,6 +806,7 @@
|
|||||||
<None Include="Web.TotemPre.config" />
|
<None Include="Web.TotemPre.config" />
|
||||||
<None Include="Web.TotemProd.config" />
|
<None Include="Web.TotemProd.config" />
|
||||||
<None Include="Scripts\jquery.mobile-1.4.5.min.map" />
|
<None Include="Scripts\jquery.mobile-1.4.5.min.map" />
|
||||||
|
<None Include="App_Themes\images\GitHub.ico" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<ProjectReference Include="..\NpgsqlMRPProviders\NpgsqlMRPProviders.csproj">
|
<ProjectReference Include="..\NpgsqlMRPProviders\NpgsqlMRPProviders.csproj">
|
||||||
|
@ -1,3 +1,22 @@
|
|||||||
|
2015-12-09 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
|
* 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
|
||||||
|
|
||||||
2015-12-03 Paul Schneider <paul@pschneider.fr>
|
2015-12-03 Paul Schneider <paul@pschneider.fr>
|
||||||
|
|
||||||
* LocalizedText.resx:
|
* LocalizedText.resx:
|
||||||
|
@ -24,6 +24,9 @@ using System.Configuration;
|
|||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Web;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Yavsc.Model.Circles
|
namespace Yavsc.Model.Circles
|
||||||
{
|
{
|
||||||
@ -75,6 +78,38 @@ namespace Yavsc.Model.Circles
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// List the specified user.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="user">User.</param>
|
||||||
|
public static IEnumerable<CircleBase> List(string user)
|
||||||
|
{
|
||||||
|
if (user == null)
|
||||||
|
user = HttpContext.Current.User.Identity.Name;
|
||||||
|
return DefaultProvider.List (user);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Circles the specified user and relation.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="user">User.</param>
|
||||||
|
/// <param name="relation">Relation.</param>
|
||||||
|
public static string[] Circles(string relation, string user = null )
|
||||||
|
{
|
||||||
|
if (user == null)
|
||||||
|
user = HttpContext.Current.User.Identity.Name;
|
||||||
|
return DefaultProvider.Circles (user, relation);
|
||||||
|
}
|
||||||
|
/// <summary>
|
||||||
|
/// Lists the available circles.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The available circles.</returns>
|
||||||
|
/// <param name="user">User.</param>
|
||||||
|
public static string[] ListAvailableCircles (string user = null )
|
||||||
|
{
|
||||||
|
if (user == null)
|
||||||
|
user = HttpContext.Current.User.Identity.Name;
|
||||||
|
return DefaultProvider.List (user).Select (x => x.Title).ToArray();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -66,10 +66,15 @@ namespace Yavsc.Model.Circles
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="id">Identifier.</param>
|
/// <param name="id">Identifier.</param>
|
||||||
public abstract CircleBase Get (long id);
|
public abstract CircleBase Get (long id);
|
||||||
|
/// <summary>
|
||||||
|
/// Gets the identifier.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The identifier.</returns>
|
||||||
|
/// <param name="circle">Circle.</param>
|
||||||
|
/// <param name="username">Username.</param>
|
||||||
public abstract long GetId (string circle, string username);
|
public abstract long GetId (string circle, string username);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// List circle's user.
|
/// List user's circles.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public abstract IEnumerable<CircleBase> List(string user);
|
public abstract IEnumerable<CircleBase> List(string user);
|
||||||
|
|
||||||
@ -81,6 +86,8 @@ namespace Yavsc.Model.Circles
|
|||||||
/// <param name="member">Username to look for in the circles</param>
|
/// <param name="member">Username to look for in the circles</param>
|
||||||
public abstract bool Matches(long [] circle_ids, string member);
|
public abstract bool Matches(long [] circle_ids, string member);
|
||||||
|
|
||||||
|
public abstract string [] Circles(string ownername, string username);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Removes the membership.
|
/// Removes the membership.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -6,6 +6,7 @@ using Yavsc.Model.FileSystem;
|
|||||||
using System.Web;
|
using System.Web;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
|
||||||
namespace Yavsc.Model.FrontOffice
|
namespace Yavsc.Model.FrontOffice
|
||||||
@ -13,7 +14,7 @@ namespace Yavsc.Model.FrontOffice
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Commande.
|
/// Commande.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Command
|
public abstract class Command
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets the creation date.
|
/// Gets or sets the creation date.
|
||||||
@ -55,12 +56,13 @@ namespace Yavsc.Model.FrontOffice
|
|||||||
public Command()
|
public Command()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Froms the post.
|
/// Froms the post.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="collection">Collection.</param>
|
/// <param name="collection">Collection.</param>
|
||||||
/// <param name="files">Files.</param>
|
/// <param name="files">Files.</param>
|
||||||
public void FromPost(NameValueCollection collection, NameObjectCollectionBase files)
|
private void FromPost(NameValueCollection collection, NameObjectCollectionBase files)
|
||||||
{
|
{
|
||||||
// string catref=collection["catref"]; // Catalog Url from which formdata has been built
|
// string catref=collection["catref"]; // Catalog Url from which formdata has been built
|
||||||
ProductRef=collection["ref"]; // Required product reference
|
ProductRef=collection["ref"]; // Required product reference
|
||||||
@ -83,11 +85,25 @@ namespace Yavsc.Model.FrontOffice
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="collection">Collection.</param>
|
/// <param name="collection">Collection.</param>
|
||||||
/// <param name="files">Files.</param>
|
/// <param name="files">Files.</param>
|
||||||
public Command (NameValueCollection collection, NameObjectCollectionBase files)
|
public static Command CreateCommand (NameValueCollection collection, NameObjectCollectionBase files)
|
||||||
{
|
{
|
||||||
FromPost (collection, files);
|
var cmd = CreateCommand (collection ["type"]);
|
||||||
|
cmd.FromPost (collection, files);
|
||||||
|
return cmd;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Creates the command.
|
||||||
|
/// </summary>
|
||||||
|
/// <returns>The command.</returns>
|
||||||
|
/// <param name="className">Class name.</param>
|
||||||
|
public static Command CreateCommand (string className)
|
||||||
|
{
|
||||||
|
var type = Type.GetType (className);
|
||||||
|
ConstructorInfo ci = type.GetConstructor(new Type[]{});
|
||||||
|
var cmd = ci.Invoke (new object[]{}) as Command;
|
||||||
|
return cmd;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
158
yavscModel/LocalizedText.Designer.cs
generated
158
yavscModel/LocalizedText.Designer.cs
generated
@ -76,6 +76,12 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string BillSourceCode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BillSourceCode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string access_denied {
|
public static string access_denied {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("access_denied", resourceCulture);
|
return ResourceManager.GetString("access_denied", resourceCulture);
|
||||||
@ -88,9 +94,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string DuplicateEmail {
|
public static string MEACode {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("DuplicateEmail", resourceCulture);
|
return ResourceManager.GetString("MEACode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string from {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("from", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,9 +148,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string DoSpecifyCircles {
|
public static string DoAnEstimate {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("DoSpecifyCircles", resourceCulture);
|
return ResourceManager.GetString("DoAnEstimate", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,6 +160,12 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string NoSkillforthisactivity {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("NoSkillforthisactivity", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string was_added_to_the_empty_role {
|
public static string was_added_to_the_empty_role {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("was_added_to_the_empty_role", resourceCulture);
|
return ResourceManager.GetString("was_added_to_the_empty_role", resourceCulture);
|
||||||
@ -268,6 +286,30 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string Catalog {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Catalog", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string SubmitChanges {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SubmitChanges", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string none {
|
public static string none {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("none", resourceCulture);
|
return ResourceManager.GetString("none", resourceCulture);
|
||||||
@ -304,9 +346,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Google_error {
|
public static string Home {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Google_error", resourceCulture);
|
return ResourceManager.GetString("Home", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -322,9 +364,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Skills {
|
public static string Posted {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Skills", resourceCulture);
|
return ResourceManager.GetString("Posted", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -376,9 +418,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string hidden {
|
public static string Icons_made_by {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("hidden", resourceCulture);
|
return ResourceManager.GetString("Icons_made_by", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -412,6 +454,12 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string AboutContent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AboutContent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string YourNeed {
|
public static string YourNeed {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("YourNeed", resourceCulture);
|
return ResourceManager.GetString("YourNeed", resourceCulture);
|
||||||
@ -460,9 +508,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string MEACode {
|
public static string Google_error {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("MEACode", resourceCulture);
|
return ResourceManager.GetString("Google_error", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -478,9 +526,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Logout {
|
public static string About {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Logout", resourceCulture);
|
return ResourceManager.GetString("About", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -496,12 +544,6 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string Offline {
|
public static string Offline {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Offline", resourceCulture);
|
return ResourceManager.GetString("Offline", resourceCulture);
|
||||||
@ -526,6 +568,18 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string YourEstimates {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("YourEstimates", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string Non_existent_user {
|
public static string Non_existent_user {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Non_existent_user", resourceCulture);
|
return ResourceManager.GetString("Non_existent_user", resourceCulture);
|
||||||
@ -586,9 +640,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string UsersInRole {
|
public static string User_List {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("UsersInRole", resourceCulture);
|
return ResourceManager.GetString("User_List", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string SiteSkills {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SiteSkills", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -610,9 +670,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Name {
|
public static string EndDate {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Name", resourceCulture);
|
return ResourceManager.GetString("EndDate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Logout {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Logout", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -622,15 +688,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable {
|
public static string is_licensed_by {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable", resourceCulture);
|
return ResourceManager.GetString("is_licensed_by", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string User_List {
|
public static string Edited {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("User_List", resourceCulture);
|
return ResourceManager.GetString("Edited", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,9 +706,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Home {
|
public static string hidden {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Home", resourceCulture);
|
return ResourceManager.GetString("hidden", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Skills {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Skills", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -652,15 +724,21 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string DuplicateEmail {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("DuplicateEmail", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string BillUpdated {
|
public static string BillUpdated {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("BillUpdated", resourceCulture);
|
return ResourceManager.GetString("BillUpdated", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string NoSkillforthisactivity {
|
public static string BillAccessControl {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("NoSkillforthisactivity", resourceCulture);
|
return ResourceManager.GetString("BillAccessControl", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -754,9 +832,21 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string EndDate {
|
public static string DoSpecifyCircles {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("EndDate", resourceCulture);
|
return ResourceManager.GetString("DoSpecifyCircles", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Search {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Search", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string UsersInRole {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UsersInRole", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
200
yavscModel/LocalizedText.fr.Designer.cs
generated
200
yavscModel/LocalizedText.fr.Designer.cs
generated
@ -70,9 +70,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string BookingTitleArtiste {
|
public static string Basket {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("BookingTitleArtiste", resourceCulture);
|
return ResourceManager.GetString("Basket", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string BillSourceCode {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BillSourceCode", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -88,9 +94,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string PreferedDate {
|
public static string MEACode {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("PreferedDate", resourceCulture);
|
return ResourceManager.GetString("MEACode", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string from {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("from", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -118,9 +130,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Product_reference {
|
public static string Remove {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Product_reference", resourceCulture);
|
return ResourceManager.GetString("Remove", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,9 +148,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string DoSpecifyCircles {
|
public static string DoAnEstimate {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("DoSpecifyCircles", resourceCulture);
|
return ResourceManager.GetString("DoAnEstimate", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -148,6 +160,18 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string NoSkillforthisactivity {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("NoSkillforthisactivity", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string was_added_to_the_empty_role {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("was_added_to_the_empty_role", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string UserNotInThisRole {
|
public static string UserNotInThisRole {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("UserNotInThisRole", resourceCulture);
|
return ResourceManager.GetString("UserNotInThisRole", resourceCulture);
|
||||||
@ -220,15 +244,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string was_added_to_the_empty_role {
|
public static string Title {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("was_added_to_the_empty_role", resourceCulture);
|
return ResourceManager.GetString("Title", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ImportException {
|
public static string Product_reference {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("ImportException", resourceCulture);
|
return ResourceManager.GetString("Product_reference", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -268,6 +292,30 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string Catalog {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Catalog", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string SubmitChanges {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SubmitChanges", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string BookingTitleArtiste {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("BookingTitleArtiste", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string none {
|
public static string none {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("none", resourceCulture);
|
return ResourceManager.GetString("none", resourceCulture);
|
||||||
@ -298,9 +346,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Google_error {
|
public static string Home {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Google_error", resourceCulture);
|
return ResourceManager.GetString("Home", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -316,9 +364,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Skills {
|
public static string Posted {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Skills", resourceCulture);
|
return ResourceManager.GetString("Posted", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -328,9 +376,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Title {
|
public static string ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Title", resourceCulture);
|
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,9 +400,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Modify {
|
public static string ImportException {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Modify", resourceCulture);
|
return ResourceManager.GetString("ImportException", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -370,9 +418,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string hidden {
|
public static string Icons_made_by {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("hidden", resourceCulture);
|
return ResourceManager.GetString("Icons_made_by", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -406,6 +454,12 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string AboutContent {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("AboutContent", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string YourNeed {
|
public static string YourNeed {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("YourNeed", resourceCulture);
|
return ResourceManager.GetString("YourNeed", resourceCulture);
|
||||||
@ -442,15 +496,21 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string Modify {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Modify", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string Xshouldbeavailable {
|
public static string Xshouldbeavailable {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Xshouldbeavailable", resourceCulture);
|
return ResourceManager.GetString("Xshouldbeavailable", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string MEACode {
|
public static string Google_error {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("MEACode", resourceCulture);
|
return ResourceManager.GetString("Google_error", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -484,12 +544,6 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string Offline {
|
public static string Offline {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Offline", resourceCulture);
|
return ResourceManager.GetString("Offline", resourceCulture);
|
||||||
@ -514,6 +568,12 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string Name {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Name", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string Non_existent_user {
|
public static string Non_existent_user {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Non_existent_user", resourceCulture);
|
return ResourceManager.GetString("Non_existent_user", resourceCulture);
|
||||||
@ -526,6 +586,12 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string PreferedDate {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("PreferedDate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string Edit {
|
public static string Edit {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Edit", resourceCulture);
|
return ResourceManager.GetString("Edit", resourceCulture);
|
||||||
@ -568,9 +634,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string UsersInRole {
|
public static string User_List {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("UsersInRole", resourceCulture);
|
return ResourceManager.GetString("User_List", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string SiteSkills {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("SiteSkills", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -592,9 +664,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Name {
|
public static string EndDate {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Name", resourceCulture);
|
return ResourceManager.GetString("EndDate", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string YourEstimates {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("YourEstimates", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -604,15 +682,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable {
|
public static string is_licensed_by {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable", resourceCulture);
|
return ResourceManager.GetString("is_licensed_by", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string User_List {
|
public static string Edited {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("User_List", resourceCulture);
|
return ResourceManager.GetString("Edited", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -622,9 +700,15 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Home {
|
public static string hidden {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Home", resourceCulture);
|
return ResourceManager.GetString("hidden", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Skills {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Skills", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -640,9 +724,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string NoSkillforthisactivity {
|
public static string BillAccessControl {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("NoSkillforthisactivity", resourceCulture);
|
return ResourceManager.GetString("BillAccessControl", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -652,6 +736,12 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static string yourquerytransmitted {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("yourquerytransmitted", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static string Hide_source {
|
public static string Hide_source {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Hide_source", resourceCulture);
|
return ResourceManager.GetString("Hide_source", resourceCulture);
|
||||||
@ -670,9 +760,9 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string yourquerytransmitted {
|
public static string About {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("yourquerytransmitted", resourceCulture);
|
return ResourceManager.GetString("About", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -736,9 +826,21 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string EndDate {
|
public static string DoSpecifyCircles {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("EndDate", resourceCulture);
|
return ResourceManager.GetString("DoSpecifyCircles", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string Search {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("Search", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static string UsersInRole {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("UsersInRole", resourceCulture);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -748,12 +850,6 @@ namespace Yavsc.Model {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static string Remove {
|
|
||||||
get {
|
|
||||||
return ResourceManager.GetString("Remove", resourceCulture);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static string Profile_edition {
|
public static string Profile_edition {
|
||||||
get {
|
get {
|
||||||
return ResourceManager.GetString("Profile_edition", resourceCulture);
|
return ResourceManager.GetString("Profile_edition", resourceCulture);
|
||||||
|
@ -13,46 +13,57 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
|
||||||
|
<data name="About"><value>À propos</value></data>
|
||||||
|
<data name="AboutContent"><value>Je suis développeur indépendant à Suresnes depuis quelque mois.
|
||||||
|
Je démarre une activité dans le domaine de l'edition logicielle,
|
||||||
|
et je délivre principalement des applications pour mobiles.</value></data>
|
||||||
<data name="additionally"><value>de plus</value></data>
|
<data name="additionally"><value>de plus</value></data>
|
||||||
<data name="access_denied"><value>Accès refusé</value></data>
|
<data name="access_denied"><value>Accès refusé</value></data>
|
||||||
<data name="Activities"><value>Activités</value></data>
|
<data name="Activities"><value>Activités</value></data>
|
||||||
<data name="AnIMessageHasbeenSent"><value>Un message instantané a été envoyé à {0},
|
<data name="AnIMessageHasbeenSent"><value>Un message instantané a été envoyé à {0},
|
||||||
lui présentant votre demande. Vous devriez être contacté très rapidement.</value></data>
|
lui présentant votre demande. Vous devriez être contacté très rapidement.</value></data>
|
||||||
<data name="available"><value>disponible</value></data>
|
<data name="available"><value>disponible</value></data>
|
||||||
<data name="AuthenticatedOnly"><value>Seules les utilisateurs authentifies peuvent accèder à cette information</value></data>
|
<data name="AuthenticatedOnly"><value>Seuls les utilisateurs authentifiés peuvent accèder à cette information.</value></data>
|
||||||
|
<data name="Basket"><value>Panier</value></data>
|
||||||
<data name="Bill_edition"><value>Édition d'un billet</value></data>
|
<data name="Bill_edition"><value>Édition d'un billet</value></data>
|
||||||
<data name="Bill_removal"><value>Suppression d'un billet</value></data>
|
<data name="Bill_removal"><value>Suppression d'un billet</value></data>
|
||||||
|
<data name="BillAccessControl"><value>Contrôle d'accès au Billet</value></data>
|
||||||
<data name="BillCreated"><value>Billet créé</value></data>
|
<data name="BillCreated"><value>Billet créé</value></data>
|
||||||
|
<data name="BillSourceCode"><value>Code source du billet</value></data>
|
||||||
<data name="BillUpdated"><value>Billet mis à jour</value></data>
|
<data name="BillUpdated"><value>Billet mis à jour</value></data>
|
||||||
<data name="BookingTitleArtiste"><value>Reserver les services d'un artiste</value></data>
|
<data name="BookingTitleArtiste"><value>Reserver les services d'un artiste</value></data>
|
||||||
<data name="BookingTitle6829C"><value>Reserver les services d'un éditeur de logiciel</value></data>
|
<data name="BookingTitle6829C"><value>Reserver les services d'un éditeur de logiciel</value></data>
|
||||||
<data name="Consultant"><value>Consultant</value></data>
|
<data name="Catalog"><value>Catalogue</value></data>
|
||||||
<data name="Count"><value>Nombre</value></data>
|
|
||||||
<data name="ChooseADescription"><value>S'il vous plait, choisissez une description.</value></data>
|
<data name="ChooseADescription"><value>S'il vous plait, choisissez une description.</value></data>
|
||||||
<data name="ChooseATitle"><value>S'il vous plait, choisissez un titre.</value></data>
|
<data name="ChooseATitle"><value>S'il vous plait, choisissez un titre.</value></data>
|
||||||
<data name="ChooseADateInTheFutur"><value>S'il vous plait, choisissez une date dans le futur</value></data>
|
<data name="ChooseADateInTheFutur"><value>S'il vous plait, choisissez une date dans le futur</value></data>
|
||||||
<data name="Ciffer"><value>Chiffre</value></data>
|
<data name="Ciffer"><value>Chiffre</value></data>
|
||||||
<data name="Circles"><value>Cercles</value></data>
|
<data name="Circles"><value>Cercles</value></data>
|
||||||
|
<data name="Consultant"><value>Consultant</value></data>
|
||||||
<data name="Comment"><value>Commentaire</value></data>
|
<data name="Comment"><value>Commentaire</value></data>
|
||||||
|
<data name="Count"><value>Nombre</value></data>
|
||||||
|
<data name="Create"><value>Créer</value></data>
|
||||||
|
<data name="Date_search"><value>Demande de rendez-vous</value></data>
|
||||||
<data name="DB"><value>Base de données</value></data>
|
<data name="DB"><value>Base de données</value></data>
|
||||||
|
<data name="DoAnEstimate"><value>Faire un devis</value></data>
|
||||||
<data name="DoComment"><value>Commenter</value></data>
|
<data name="DoComment"><value>Commenter</value></data>
|
||||||
<data name="DoNotPublishMyActivity"><value>Ne pas publier mon activité</value></data>
|
<data name="DoNotPublishMyActivity"><value>Ne pas publier mon activité</value></data>
|
||||||
<data name="DoSpecifyCircles"><value>S'il vous plait, spécifiez ceux de vos cercles à qui est destiné ce contenu</value></data>
|
<data name="DoSpecifyCircles"><value>S'il vous plait, spécifiez ceux de vos cercles à qui est destiné ce contenu</value></data>
|
||||||
<data name="Create"><value>Créer</value></data>
|
|
||||||
<data name="Date_search"><value>Demande de rendez-vous</value></data>
|
|
||||||
<data name="DocTemplateException"><value>Une erreur est survenue à la génération de votre document</value></data>
|
<data name="DocTemplateException"><value>Une erreur est survenue à la génération de votre document</value></data>
|
||||||
<data name="Description"><value>Description</value></data>
|
<data name="Description"><value>Description</value></data>
|
||||||
<data name="DisplayName"><value>Nom affiché</value></data>
|
<data name="DisplayName"><value>Nom affiché</value></data>
|
||||||
<data name="DoTag"><value>Tagger</value></data>
|
<data name="DoTag"><value>Tagger</value></data>
|
||||||
<data name="entries"><value>entrées</value></data>
|
|
||||||
<data name="Edit"><value>Éditer</value></data>
|
<data name="Edit"><value>Éditer</value></data>
|
||||||
|
<data name="Edited"><value>Edité</value></data>
|
||||||
<data name="EditRelatedSkills"><value>Editer les compétences associées</value></data>
|
<data name="EditRelatedSkills"><value>Editer les compétences associées</value></data>
|
||||||
<data name="EndDate"><value>Date de fin</value></data>
|
<data name="EndDate"><value>Date de fin</value></data>
|
||||||
<data name="EndHour"><value>Heure de fin</value></data>
|
<data name="EndHour"><value>Heure de fin</value></data>
|
||||||
|
<data name="entries"><value>entrées</value></data>
|
||||||
<data name="Estimate_not_found"><value>Devis non trouvé</value></data>
|
<data name="Estimate_not_found"><value>Devis non trouvé</value></data>
|
||||||
<data name="EventWebPage"><value>Page web de l'événement</value></data>
|
<data name="EventWebPage"><value>Page web de l'événement</value></data>
|
||||||
<data name="ExistantDB"><value>Base de données éxistante</value></data>
|
<data name="ExistantDB"><value>Base de données éxistante</value></data>
|
||||||
<data name="FillInAFutureDate"><value>Veuilliez, s'il vous plait, utiliser une date future.</value></data>
|
<data name="FillInAFutureDate"><value>Veuillez, s'il vous plait, utiliser une date future.</value></data>
|
||||||
|
<data name="from"><value>provenant de</value></data>
|
||||||
<data name="Google_calendar"><value>Agenda Google</value></data>
|
<data name="Google_calendar"><value>Agenda Google</value></data>
|
||||||
<data name="Google_error"><value>Erreur Google : {0}</value></data>
|
<data name="Google_error"><value>Erreur Google : {0}</value></data>
|
||||||
<data name="Google_registration_id"><value>Identifiant d'enregistrement Google</value></data>
|
<data name="Google_registration_id"><value>Identifiant d'enregistrement Google</value></data>
|
||||||
@ -61,10 +72,12 @@
|
|||||||
<data name="Hide"><value>Cacher</value></data>
|
<data name="Hide"><value>Cacher</value></data>
|
||||||
<data name="hidden"><value>caché</value></data>
|
<data name="hidden"><value>caché</value></data>
|
||||||
<data name="I_understood"><value>J'ai compris</value></data>
|
<data name="I_understood"><value>J'ai compris</value></data>
|
||||||
|
<data name="Icons_made_by"><value>Les icônes fabriqués par</value></data>
|
||||||
<data name="ImgLocator"><value>URI de l'image</value></data>
|
<data name="ImgLocator"><value>URI de l'image</value></data>
|
||||||
<data name="ImportException"><value>Exception à l'import</value></data>
|
<data name="ImportException"><value>Exception à l'import</value></data>
|
||||||
<data name="InternalServerError"><value>Erreur serveur interne</value></data>
|
<data name="InternalServerError"><value>Erreur serveur interne</value></data>
|
||||||
<data name="Item_added_to_basket"><value>Article ajouté au panier</value></data>
|
<data name="is_licensed_by"><value>sont sous licence</value></data>
|
||||||
|
<data name="Item_added_to_basket"><value>Article ajouté au panier.</value></data>
|
||||||
<data name="Location"><value>Lieu</value></data>
|
<data name="Location"><value>Lieu</value></data>
|
||||||
<data name="Logout"><value>Déconnection</value></data>
|
<data name="Logout"><value>Déconnection</value></data>
|
||||||
<data name="ManagedSiteSkills"><value>Compétences gérée sur ce site</value></data>
|
<data name="ManagedSiteSkills"><value>Compétences gérée sur ce site</value></data>
|
||||||
@ -93,6 +106,7 @@
|
|||||||
<data name="Person"><value>Personne</value></data>
|
<data name="Person"><value>Personne</value></data>
|
||||||
<data name="Photo"><value>Photo</value></data>
|
<data name="Photo"><value>Photo</value></data>
|
||||||
<data name="PhotoUpdated"><value>Photo mise à jour</value></data>
|
<data name="PhotoUpdated"><value>Photo mise à jour</value></data>
|
||||||
|
<data name="Posted"><value>Posté</value></data>
|
||||||
<data name="PreferedDate"><value>Date souhaitée</value></data>
|
<data name="PreferedDate"><value>Date souhaitée</value></data>
|
||||||
<data name="Preview"><value>Prévisualiser</value><comment>Prévisualiser le document</comment></data>
|
<data name="Preview"><value>Prévisualiser</value><comment>Prévisualiser le document</comment></data>
|
||||||
<data name="Profile_edition"><value>Édition du profile</value></data>
|
<data name="Profile_edition"><value>Édition du profile</value></data>
|
||||||
@ -105,17 +119,20 @@
|
|||||||
<data name="Remember_me"><value>Se souvenir du mot de passe</value></data>
|
<data name="Remember_me"><value>Se souvenir du mot de passe</value></data>
|
||||||
<data name="Remove"><value>Supprimer</value></data>
|
<data name="Remove"><value>Supprimer</value></data>
|
||||||
<data name="role_created"><value>Rôle créé</value></data>
|
<data name="role_created"><value>Rôle créé</value></data>
|
||||||
|
<data name="Search"><value>Chercher</value></data>
|
||||||
|
<data name="SiteSkills"><value>Talents/Compétences/Spécialités gérés sur ce site</value></data>
|
||||||
<data name="Skill"><value>Compétence</value></data>
|
<data name="Skill"><value>Compétence</value></data>
|
||||||
<data name="Skills"><value>Talents/Compétences/Spécialités</value></data>
|
<data name="Skills"><value>Talents/Compétences/Spécialités</value></data>
|
||||||
<data name="StartDate"><value>Date de début</value></data>
|
<data name="StartDate"><value>Date de début</value></data>
|
||||||
<data name="StartDateAfterEndDate"><value>La date de fin doit être postérieure à la date de début.</value></data>
|
<data name="StartDateAfterEndDate"><value>La date de fin doit être postérieure à la date de début.</value></data>
|
||||||
<data name="StartHour"><value>Heure de début</value></data>
|
<data name="StartHour"><value>Heure de début</value></data>
|
||||||
<data name="Submit"><value>Soumettre</value></data>
|
<data name="Submit"><value>Soumettre</value></data>
|
||||||
|
<data name="SubmitChanges"><value>Envoyer les modifications</value></data>
|
||||||
<data name="Tag_name"><value>Nom du tag</value></data>
|
<data name="Tag_name"><value>Nom du tag</value></data>
|
||||||
<data name="Tex_version"><value>Version LaTeX</value></data>
|
<data name="Tex_version"><value>Version LaTeX</value></data>
|
||||||
<data name="ThisSiteUsesCookies"><value>Ce site utilise les cookies</value></data>
|
<data name="ThisSiteUsesCookies"><value>Ce site utilise les cookies</value></data>
|
||||||
<data name="ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable"><value>Selon son calendier Google, ce perstataire est disponbile.</value></data>
|
<data name="ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis"><value>Selon son calendier Google, ce perstataire est disponbile ce</value></data>
|
||||||
<data name="ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable"><value>Selon son calendier Google, ce perstataire pourrait ne pas être disponible.</value></data>
|
<data name="ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis"><value>Selon son calendier Google, ce perstataire pourrait ne pas être disponible ce</value></data>
|
||||||
<data name="ThisPerformerDoesntGiveAccessToHisCalendar"><value>Ce prestataire n'a pas mis de calendrier à disposition.</value></data>
|
<data name="ThisPerformerDoesntGiveAccessToHisCalendar"><value>Ce prestataire n'a pas mis de calendrier à disposition.</value></data>
|
||||||
<data name="Title"><value>Titre</value></data>
|
<data name="Title"><value>Titre</value></data>
|
||||||
<data name="Unitary_cost"><value>Coût unitaire</value></data>
|
<data name="Unitary_cost"><value>Coût unitaire</value></data>
|
||||||
@ -132,8 +149,9 @@
|
|||||||
<data name="Xshouldbeavailable"><value>Au vu de son calendrier,
|
<data name="Xshouldbeavailable"><value>Au vu de son calendrier,
|
||||||
{0} devrait être disponible pour ce rendez-vous</value></data>
|
{0} devrait être disponible pour ce rendez-vous</value></data>
|
||||||
<data name="younotadmin"><value>Vous n'êtes pas administrateur</value></data>
|
<data name="younotadmin"><value>Vous n'êtes pas administrateur</value></data>
|
||||||
|
<data name="YourEstimates"><value>Vos Devis</value></data>
|
||||||
<data name="YourMEACode"><value>Votre activité</value></data>
|
<data name="YourMEACode"><value>Votre activité</value></data>
|
||||||
<data name="YourNeed"><value>Votre besoin</value></data>
|
<data name="YourNeed"><value>Votre besoin</value></data>
|
||||||
<data name="yourquerytransmitted"><value>Votre demande a été transmise</value></data>
|
<data name="yourquerytransmitted"><value>Votre demande a été transmise</value></data>
|
||||||
<data name="YourSkills"><value>Your skills, your special fields, the scope of your activities</value></data>
|
<data name="YourSkills"><value>Vos talents, vos spécialités, le domaine de vos activités</value></data>
|
||||||
</root>
|
</root>
|
||||||
|
@ -13,6 +13,9 @@
|
|||||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
</resheader>
|
</resheader>
|
||||||
|
|
||||||
|
<data name="About"><value>About</value></data>
|
||||||
|
<data name="AboutContent"><value>I'm a french developer base in Suresnes, near Paris,
|
||||||
|
I mainly release some mobile applications for mobiles.</value></data>
|
||||||
<data name="additionally"><value>additionally</value></data>
|
<data name="additionally"><value>additionally</value></data>
|
||||||
<data name="access_denied"><value>Access denied</value></data>
|
<data name="access_denied"><value>Access denied</value></data>
|
||||||
<data name="Activities"><value>Activities</value></data>
|
<data name="Activities"><value>Activities</value></data>
|
||||||
@ -22,25 +25,28 @@
|
|||||||
<data name="AuthenticatedOnly"><value>You must be authenticated in order to access this information</value></data>
|
<data name="AuthenticatedOnly"><value>You must be authenticated in order to access this information</value></data>
|
||||||
<data name="Bill_edition"><value>Bill edition</value></data>
|
<data name="Bill_edition"><value>Bill edition</value></data>
|
||||||
<data name="Bill_removal"><value>Bill removal</value></data>
|
<data name="Bill_removal"><value>Bill removal</value></data>
|
||||||
|
<data name="BillAccessControl"><value>Bill access control</value></data>
|
||||||
<data name="BillCreated"><value>Bill created</value></data>
|
<data name="BillCreated"><value>Bill created</value></data>
|
||||||
|
<data name="BillSourceCode"><value>Bill source code</value></data>
|
||||||
<data name="BillUpdated"><value>Bill updated</value></data>
|
<data name="BillUpdated"><value>Bill updated</value></data>
|
||||||
<data name="BookingTitleArtiste"><value>Book an artiste</value></data>
|
<data name="BookingTitleArtiste"><value>Book an artiste</value></data>
|
||||||
<data name="BookingTitle6829C"><value>Book a software editor</value></data>
|
<data name="BookingTitle6829C"><value>Book a software editor</value></data>
|
||||||
|
<data name="Catalog"><value>Catalog</value></data>
|
||||||
<data name="Create"><value>Create</value></data>
|
<data name="Create"><value>Create</value></data>
|
||||||
<data name="Count"><value>Count</value></data>
|
<data name="Count"><value>Count</value></data>
|
||||||
<data name="ChooseADescription"><value>Please, choose a description</value></data>
|
<data name="ChooseADescription"><value>Please, choose a description</value></data>
|
||||||
<data name="ChooseATitle"><value>Please, choose a title</value></data>
|
<data name="ChooseATitle"><value>Please, choose a title</value></data>
|
||||||
<data name="ChooseADateInTheFutur"><value>Please, Choose A Date In The Futur</value></data>
|
<data name="ChooseADateInTheFutur"><value>Please, Choose A Date In The Futur</value></data>
|
||||||
|
|
||||||
<data name="Ciffer"><value>Ciffer</value></data>
|
<data name="Ciffer"><value>Ciffer</value></data>
|
||||||
<data name="Circles"><value>Circles</value></data>
|
<data name="Circles"><value>Circles</value></data>
|
||||||
<data name="Consultant"><value>Consultant</value></data>
|
|
||||||
<data name="Comment"><value>Comment</value></data>
|
<data name="Comment"><value>Comment</value></data>
|
||||||
|
<data name="Consultant"><value>Consultant</value></data>
|
||||||
<data name="Count"><value>Count</value></data>
|
<data name="Count"><value>Count</value></data>
|
||||||
|
<data name="Date_search"><value>Date search</value></data>
|
||||||
<data name="DB"><value>Data base</value></data>
|
<data name="DB"><value>Data base</value></data>
|
||||||
<data name="Date_search"><value>Rendez-vous query</value></data>
|
|
||||||
<data name="Description"><value>Description</value></data>
|
<data name="Description"><value>Description</value></data>
|
||||||
<data name="DisplayName"><value>Display Name</value></data>
|
<data name="DisplayName"><value>Display Name</value></data>
|
||||||
|
<data name="DoAnEstimate"><value>Do an estimate</value></data>
|
||||||
<data name="DocTemplateException"><value>Exception occured when rendering your document</value></data>
|
<data name="DocTemplateException"><value>Exception occured when rendering your document</value></data>
|
||||||
<data name="DoNotPublishMyActivity"><value>Do Not Publish My Activity</value></data>
|
<data name="DoNotPublishMyActivity"><value>Do Not Publish My Activity</value></data>
|
||||||
<data name="DoSpecifyCircles"><value>Please, specify circles for audiance</value></data>
|
<data name="DoSpecifyCircles"><value>Please, specify circles for audiance</value></data>
|
||||||
@ -48,26 +54,30 @@
|
|||||||
<data name="DuplicateEmail"><value>This email adress is already used ({0}).</value></data>
|
<data name="DuplicateEmail"><value>This email adress is already used ({0}).</value></data>
|
||||||
<data name="DuplicateUserName"><value>This user name is already used ({0}).</value></data>
|
<data name="DuplicateUserName"><value>This user name is already used ({0}).</value></data>
|
||||||
<data name="Edit"><value>Edit</value></data>
|
<data name="Edit"><value>Edit</value></data>
|
||||||
|
<data name="Edited"><value>Edited</value></data>
|
||||||
<data name="EditRelatedSkills"><value>Edit related skills</value></data>
|
<data name="EditRelatedSkills"><value>Edit related skills</value></data>
|
||||||
<data name="EndHour"><value>End hour</value></data>
|
<data name="EndHour"><value>End hour</value></data>
|
||||||
<data name="EndDate"><value>End date</value></data>
|
<data name="EndDate"><value>End date</value></data>
|
||||||
|
<data name="entries"><value>entries</value></data>
|
||||||
<data name="Estimate_not_found"><value>Estimate not found</value></data>
|
<data name="Estimate_not_found"><value>Estimate not found</value></data>
|
||||||
<data name="EventWebPage"><value>Event Web page</value></data>
|
<data name="EventWebPage"><value>Event Web page</value></data>
|
||||||
<data name="ExistantDB"><value>Existant data base</value></data>
|
<data name="ExistantDB"><value>Existant data base</value></data>
|
||||||
<data name="FillInAFutureDate"><value>Please, use a date in the future as starting date.</value></data>
|
<data name="FillInAFutureDate"><value>Please, use a date in the future as starting date.</value></data>
|
||||||
|
<data name="from"><value>from</value></data>
|
||||||
<data name="Home"><value>Home</value></data>
|
<data name="Home"><value>Home</value></data>
|
||||||
<data name="Hide"><value>Hide</value></data>
|
<data name="Hide"><value>Hide</value></data>
|
||||||
<data name="hidden"><value>hidden</value></data>
|
<data name="hidden"><value>hidden</value></data>
|
||||||
<data name="Hide_source"><value>Hide the bill source text</value></data>
|
<data name="Hide_source"><value>Hide the bill source text</value></data>
|
||||||
<data name="entries"><value>entries</value></data>
|
|
||||||
<data name="Google_calendar"><value>Google calendar</value></data>
|
<data name="Google_calendar"><value>Google calendar</value></data>
|
||||||
<data name="Google_calendar_"><value>Google calendar</value></data>
|
<data name="Google_calendar_"><value>Google calendar</value></data>
|
||||||
<data name="Google_error"><value>Google error : {0}</value></data>
|
<data name="Google_error"><value>Google error : {0}</value></data>
|
||||||
<data name="Google_registration_id"><value>Google registration id</value></data>
|
<data name="Google_registration_id"><value>Google registration id</value></data>
|
||||||
<data name="I_understood"><value>I understood</value></data>
|
<data name="I_understood"><value>I understood</value></data>
|
||||||
|
<data name="Icons_made_by"><value>Icons made by</value></data>
|
||||||
<data name="InternalServerError"><value>Internal Server Error</value></data>
|
<data name="InternalServerError"><value>Internal Server Error</value></data>
|
||||||
<data name="ImgLocator"><value>Image URI</value></data>
|
<data name="ImgLocator"><value>Image URI</value></data>
|
||||||
<data name="ImportException"><value>Exception at importing</value></data>
|
<data name="ImportException"><value>Exception at importing</value></data>
|
||||||
|
<data name="is_licensed_by"><value>is licensed by</value></data>
|
||||||
<data name="Item_added_to_basket"><value>Item added to basket</value></data>
|
<data name="Item_added_to_basket"><value>Item added to basket</value></data>
|
||||||
<data name="Location"><value>Location</value></data>
|
<data name="Location"><value>Location</value></data>
|
||||||
<data name="Logout"><value>Logout</value></data>
|
<data name="Logout"><value>Logout</value></data>
|
||||||
@ -97,6 +107,7 @@
|
|||||||
<data name="Person"><value>Person</value></data>
|
<data name="Person"><value>Person</value></data>
|
||||||
<data name="Photo"><value>Photo</value></data>
|
<data name="Photo"><value>Photo</value></data>
|
||||||
<data name="PhotoUpdated"><value>Photo updated</value></data>
|
<data name="PhotoUpdated"><value>Photo updated</value></data>
|
||||||
|
<data name="Posted"><value>Posted</value></data>
|
||||||
<data name="PreferedDate"><value>Prefered date</value></data>
|
<data name="PreferedDate"><value>Prefered date</value></data>
|
||||||
<data name="Preview"><value>Preview</value><comment>comment on preview</comment></data>
|
<data name="Preview"><value>Preview</value><comment>comment on preview</comment></data>
|
||||||
<data name="Private_circle"><value>Private circle</value></data>
|
<data name="Private_circle"><value>Private circle</value></data>
|
||||||
@ -110,18 +121,21 @@
|
|||||||
<data name="Remove"><value>Remove</value></data>
|
<data name="Remove"><value>Remove</value></data>
|
||||||
<data name="Role"><value>Role</value></data>
|
<data name="Role"><value>Role</value></data>
|
||||||
<data name="role_created"><value>role created</value></data>
|
<data name="role_created"><value>role created</value></data>
|
||||||
|
<data name="Search"><value>Search</value></data>
|
||||||
|
<data name="SiteSkills"><value>Talents/Compétences/Spécialités gérés sur ce site</value></data>
|
||||||
<data name="Skill"><value>Skill</value></data>
|
<data name="Skill"><value>Skill</value></data>
|
||||||
<data name="Skills"><value>Skills</value></data>
|
<data name="Skills"><value>Skills</value></data>
|
||||||
<data name="StartDate"><value>Start date</value></data>
|
<data name="StartDate"><value>Start date</value></data>
|
||||||
<data name="Submit"><value>Submit</value></data>
|
<data name="Submit"><value>Submit</value></data>
|
||||||
|
<data name="SubmitChanges"><value>Submit changes</value></data>
|
||||||
<data name="StartHour"><value>Start hour</value></data>
|
<data name="StartHour"><value>Start hour</value></data>
|
||||||
<data name="StartDate"><value>Start date</value></data>
|
<data name="StartDate"><value>Start date</value></data>
|
||||||
<data name="StartDateAfterEndDate"><value>The ending date must be later than the starting one.</value></data>
|
<data name="StartDateAfterEndDate"><value>The ending date must be later than the starting one.</value></data>
|
||||||
<data name="Tag_name"><value>Tag name</value></data>
|
<data name="Tag_name"><value>Tag name</value></data>
|
||||||
<data name="Tex_version"><value>LaTeX version</value></data>
|
<data name="Tex_version"><value>LaTeX version</value></data>
|
||||||
<data name="ThisSiteUsesCookies"><value>This site uses cookies</value></data>
|
<data name="ThisSiteUsesCookies"><value>This site uses cookies</value></data>
|
||||||
<data name="ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable"><value>ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailable</value></data>
|
<data name="ThisPerformerGivesAccessToHisCalendarAndSeemsToBeAvailableThis"><value>ThisPerformer Gives access to his calendar and seems to be available this</value></data>
|
||||||
<data name="ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable"><value>ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailable</value></data>
|
<data name="ThisPerformerGivesAccessToHisCalendarAndItAppearsHeShouldNotBeAvailableThis"><value>This performer gives access to his calendar and it appears he should not be available this</value></data>
|
||||||
<data name="ThisPerformerDoesntGiveAccessToHisCalendar"><value>ThisPerformerDoesntGiveAccessToHisCalendar</value></data>
|
<data name="ThisPerformerDoesntGiveAccessToHisCalendar"><value>ThisPerformerDoesntGiveAccessToHisCalendar</value></data>
|
||||||
<data name="Title"><value>Title</value></data>
|
<data name="Title"><value>Title</value></data>
|
||||||
<data name="Unitary_cost"><value>Unitary_cost</value></data>
|
<data name="Unitary_cost"><value>Unitary_cost</value></data>
|
||||||
@ -138,9 +152,10 @@
|
|||||||
<data name="Xshouldbeavailable"><value>regarding his calendar,
|
<data name="Xshouldbeavailable"><value>regarding his calendar,
|
||||||
{0} should be available for this booking</value></data>
|
{0} should be available for this booking</value></data>
|
||||||
<data name="younotadmin"><value>You're not administrator</value></data>
|
<data name="younotadmin"><value>You're not administrator</value></data>
|
||||||
|
<data name="YourEstimates"><value>Your estimates</value></data>
|
||||||
<data name="YourMEACode"><value>Your activity</value></data>
|
<data name="YourMEACode"><value>Your activity</value></data>
|
||||||
<data name="YourNeed"><value>Your need</value></data>
|
<data name="YourNeed"><value>Your need</value></data>
|
||||||
<data name="YourSkills"><value>Vos talents, vos spécialités, le domaine de vos activités</value></data>
|
|
||||||
<data name="yourquerytransmitted"><value>your query has been transmitted</value></data>
|
<data name="yourquerytransmitted"><value>your query has been transmitted</value></data>
|
||||||
|
<data name="YourSkills"><value>Your skills, your special fields, the scope of your activities</value></data>
|
||||||
|
|
||||||
</root>
|
</root>
|
||||||
|
@ -87,7 +87,7 @@ namespace Yavsc.Model.WorkFlow
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>The estimate statuses.</returns>
|
/// <returns>The estimate statuses.</returns>
|
||||||
/// <param name="estid">Estid.</param>
|
/// <param name="estid">Estid.</param>
|
||||||
StatusChange[] GetEstimateStatuses (long estid); /// <summary>
|
StatusChange[] GetEstimateStatuses (long estid);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the estimates.
|
/// Gets the estimates.
|
||||||
@ -99,8 +99,9 @@ namespace Yavsc.Model.WorkFlow
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Registers the activity.
|
/// Registers the activity.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="activity">Activity.</param>
|
/// <param name="activityName">Activity name.</param>
|
||||||
/// <param name="code">Code.</param>
|
/// <param name="meacode">Meacode.</param>
|
||||||
|
/// <param name="comment">Comment.</param>
|
||||||
void RegisterActivity (string activityName, string meacode, string comment);
|
void RegisterActivity (string activityName, string meacode, string comment);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Reference in New Issue
Block a user