* InputCircle.cs: An input control specialized for circle selection

* UserCard.cs: Displays user informations on a little div

* Estim.cs:
* WebControls.csproj:
* CircleInfo.cs:
* CircleProvider.cs:
* CircleApiController.cs:
* BasketApiController.cs:
* ITContentProvider.csproj:
* CalendarApiController.cs:
* WorkFlowApiController.cs:
* NpgsqlCircleProvider.cs:
* FrontOfficeApiController.cs:

* InputUserName.cs: Fixes the ToolBoxData attribute

* Web.csproj:
* Circle.cs: refactoring

* instdbws.sql: Foreign keys are cascading updates and deletions

* Estim.tt:
* Profile.cs: User's profile does not contain anymore the main e-mail
  address, it conflicts with registration informations, it is not part
  of the profile data
This commit is contained in:
Paul Schneider 2015-06-10 23:38:18 +02:00
commit 6680addcc8
24 changed files with 796 additions and 227 deletions

View file

@ -15,7 +15,7 @@ namespace Yavsc.ApiControllers
/// Maintains a collection of articles
/// qualified with name value pairs
/// </summary>
public class BasketController : ApiController
public class BasketApiController : ApiController
{
/// <summary>
/// The wfmgr.

View file

@ -34,7 +34,7 @@ namespace Yavsc.ApiControllers
/// <summary>
/// Night flash controller.
/// </summary>
public class CalendarController: ApiController
public class CalendarApiController: ApiController
{
YaEvent[] getTestList()
{

View file

@ -30,50 +30,71 @@ namespace Yavsc.ApiControllers
/// <summary>
/// Circle controller.
/// </summary>
public class CircleController : ApiController
public class CircleApiController : ApiController
{
/// <summary>
/// Add the specified id and users.
/// Creates the specified circle using the given title and user list.
/// </summary>
/// <param name="id">Identifier.</param>
/// <param name="title">Title.</param>
/// <param name="title">Identifier.</param>
/// <param name="users">Users.</param>
[Authorize]
public void Add(string id, string [] users)
public long Create(string title, string [] users)
{
string user = Membership.GetUser ().UserName;
CircleManager.DefaultProvider.Add (user, id, users);
}
/// <summary>
/// Delete the specified id.
/// </summary>
/// <param name="id">Identifier.</param>
[Authorize] public void Delete(string id)
{
string user = Membership.GetUser ().UserName;
CircleManager.DefaultProvider.Delete (user, id);
return CircleManager.DefaultProvider.Create (user, title, users);
}
/// <summary>
/// Get the specified id.
/// Add the specified users to the circle.
/// </summary>
/// <param name="id">Circle Identifier.</param>
/// <param name="username">username.</param>
[Authorize]
public void Add(long id, string username)
{
checkIsOwner (CircleManager.DefaultProvider.Get (id));
CircleManager.DefaultProvider.Add (id, username);
}
/// <summary>
/// Delete the circle specified by id.
/// </summary>
/// <param name="id">Identifier.</param>
[Authorize] public void Delete(long id)
{
checkIsOwner (CircleManager.DefaultProvider.Get(id));
CircleManager.DefaultProvider.Delete (id);
}
private void checkIsOwner(Circle c)
{
string user = Membership.GetUser ().UserName;
if (c.Owner != user)
throw new AccessViolationException ("You're not owner of this circle");
}
/// <summary>
/// Get the circle specified id.
/// </summary>
/// <param name="id">Identifier.</param>
[Authorize]
public Circle Get(string id)
public Circle Get(long id)
{
string user = Membership.GetUser ().UserName;
return CircleManager.DefaultProvider.Get (user, id);
var c = CircleManager.DefaultProvider.Get (id);
checkIsOwner (c);
return c;
}
/// <summary>
/// List this instance.
/// List the circles
/// </summary>
[Authorize]
public CircleInfoCollection List()
{
string user = Membership.GetUser ().UserName;
return CircleManager.DefaultProvider.List ();
return CircleManager.DefaultProvider.List (user);
}
}
}

View file

@ -100,7 +100,6 @@ namespace Yavsc.ApiControllers
Estimate e = wfmgr.GetEstimate (estimid);
tmpe.Session = new Dictionary<string,object> ();
tmpe.Session.Add ("estim", e);
Profile prpro = new Profile (ProfileBase.Create (e.Responsible));
if (!prpro.HasBankAccount)
throw new TemplateException ("NotBankable:" + e.Responsible);
@ -114,6 +113,8 @@ namespace Yavsc.ApiControllers
tmpe.Session.Add ("from", prpro);
tmpe.Session.Add ("to", prcli);
tmpe.Session.Add ("efrom", Membership.GetUser (e.Responsible).Email);
tmpe.Session.Add ("efrom", Membership.GetUser (e.Client).Email);
tmpe.Init ();
return tmpe.TransformText ();
}

View file

@ -17,7 +17,7 @@ namespace Yavsc.ApiControllers
/// <summary>
/// Work flow controller.
/// </summary>
public class WorkFlowController : ApiController
public class WorkFlowApiController : ApiController
{
string adminRoleName="Admin";
/// <summary>