Implemente la gestion des activités

* Activities.aspx: implémente la vue Html de la liste éditable des
  activités

* Activity.ascx: implémente la vue Html d'une activité

* NpgsqlContentProvider.cs: implemente la gestion des activités côté
  base de donnée Npgsql

* TestAPI.csproj: ... une référence au framework 4.5.1 en moins ...

* FrontOfficeController.cs: Le contrôleur du FrontOffice gére les
  activités

* Global.asax.cs: nettoyage du code

* activity.sql: Typo corrigée sur le terme "MEACode"

* style.css: enlève des images qui n'ont plus rien à faire ici, tant
  ce fichier
concerne maintenant uniquement la disposition ou les éléments de base.

* AccountController.cs: implémente le contrôle par l'utilisateur du
  paramêtre de l'activité principale
associé à son profile.

* FrontOfficeController.cs: Implemente le contrôle de la page des
  activités,
et simplifie le contrôle de la page des compétences.

* HomeController.cs: formattage du code

* ModuleController.cs: inutilisé

* App.master: Theming explicite en page maître

* Profile.aspx: Propose maintenant l'édition de l'activité
  principalement éxercée

* Skills.aspx: supprime une ligne de log

* Index.aspx: RAZ en home page

* MarkdownDeep.dll: remplace le tag englobant les transformations,
il était un "<p>", il est maintenant un "<span>".

* BlogManager.cs: refactorisation

* Activity.cs: implémente un type de commande à associer à une
  activité.

* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: La traduction de "ne pas publier mon
  activité"

* LocalizedText.resx: La traduction de "ne pas publier mon activité",
  et de "Votre activité"

* ManagerHelper.cs: refabrique l'instanciation des fournisseurs du
  workflow,
pour avoir une liste de toutes les activité prises en charges par tous
  les fournisseurs de contenu.

* Profile.cs: Implement le code activité de l'objet `Profile`

* ProfileEdition.cs: xmldoc

* SkillManager.cs: Formattage du code source

* IContentProvider.cs: reformattage du code+
propriété "Name" du fournisseur +
definition des methodes relatives à la gestion des activités

* WorkFlowManager.cs: Methodes de recupperation des activités fournies
  auprés des fournisseurs de contenu

* YavscModel.csproj: renommage

* Web.csproj: reference les nouveaux éléments du projet relatifs au
  activités

* Web.config: references manquante en cas d'utilisation du
  paramértrage global du thème via la section system.web/pages du
  fichier de configuration.
This commit is contained in:
Paul Schneider 2015-11-25 13:21:32 +01:00
commit 2fcaa1ded4
37 changed files with 804 additions and 341 deletions

View file

@ -17,6 +17,7 @@ using System.Text;
using System.Net;
using System.Configuration;
using Yavsc.Model;
using Yavsc.Model.WorkFlow;
namespace Yavsc.Controllers
{
@ -251,11 +252,24 @@ namespace Yavsc.Controllers
if (id == null)
id = Membership.GetUser ().UserName;
ViewData ["UserName"] = id;
ProfileEdition model = new ProfileEdition (ProfileBase.Create (id));
model.RememberMe = FormsAuthentication.GetAuthCookie (id, true) == null;
SetMEACodeViewData (model);
return View (model);
}
private void SetMEACodeViewData(Profile model) {
var activities = WorkFlowManager.FindActivity ("%", false);
var items = new List<SelectListItem> ();
items.Add (new SelectListItem () { Selected = model.MEACode == null, Text = LocalizedText.DoNotPublishMyActivity, Value=null });
foreach (var a in activities) {
items.Add(new SelectListItem() { Selected = model.MEACode == a.Id,
Text = string.Format("{1} : {0}",a.Title,a.Id),
Value = a.Id });
}
ViewData ["MEACode"] = items;
}
/// <summary>
@ -336,6 +350,7 @@ namespace Yavsc.Controllers
prf.SetPropertyValue ("BankedKey", model.BankedKey);
prf.SetPropertyValue ("gcalid", model.GoogleCalendar);
prf.SetPropertyValue ("UITheme", model.UITheme);
prf.SetPropertyValue ("MEACode", model.MEACode);
prf.Save ();
if (editsTheUserName) {
@ -345,6 +360,7 @@ namespace Yavsc.Controllers
}
YavscHelpers.Notify(ViewData, "Profile enregistré"+((editsTheUserName)?", nom public inclu.":""));
}
SetMEACodeViewData (model);
return View (model);
}
/// <summary>

View file

@ -266,6 +266,18 @@ namespace Yavsc.Controllers
return View (skills);
}
public ActionResult Activities (string search, bool toPower = false)
{
if (search == null)
search = "%";
var activities = WorkFlowManager.FindActivity(search,!toPower);
return View (activities);
}
public ActionResult Activity(string id)
{
return View(WorkFlowManager.GetActivity (id));
}
/// <summary>
/// Display and should
/// offer Ajax edition of
@ -273,20 +285,16 @@ namespace Yavsc.Controllers
/// </summary>
/// <param name="usp">the User Skills Profile.</param>
[Authorize()]
public ActionResult UserSkills (PerformerProfile usp)
public ActionResult UserSkills (string id)
{
if (usp.UserName == null)
// this is not a call to update,
// and this can not concern another user
// than the current logged one.
usp = new PerformerProfile( User.Identity.Name );
// if (usp.UserName was null) {
usp = SkillManager.GetUserSkills (usp.UserName);
if (id == null)
id = User.Identity.Name ;
// TODO or not to do, handle a skills profile update,
// actually performed via the Web API :-°
// else if (ModelState.IsValid) {}
var usp = SkillManager.GetUserSkills (id);
var skills = SkillManager.FindSkill ("%");
ViewData ["SiteSkills"] = skills;
// TODO or not to do, handle a skills profile update,
// actually performed via the Web API :-°
// } else if (ModelState.IsValid) {}
return View (usp);
}

View file

@ -91,6 +91,7 @@ namespace Yavsc.Controllers
// TODO specialyze BlogEntry creating a PhotoEntry
ViewData [tagname] = ti;
}
return View ();
}
/// <summary>

View file

@ -1,36 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Yavsc.Model;
using System.Configuration;
namespace Yavsc.Controllers
{
/// <summary>
/// Module controller.
/// </summary>
public class ModuleController : Controller
{
/// <summary>
/// Initialize the specified requestContext.
/// </summary>
/// <param name="requestContext">Request context.</param>
protected override void Initialize (System.Web.Routing.RequestContext requestContext)
{
base.Initialize (requestContext);
ConfigurationManager.GetSection ("ymodules");
}
// List<IModule> modules = new List<IModule> ();
/// <summary>
/// Index this instance.
/// </summary>
public ActionResult Index()
{
return View ();
}
}
}