Improves notification system

* ICalendarManager.cs: WIP booking TODO a calendar provider

* NpgsqlProfileProvider.cs: Fixes the defaultValue specification from
  config file

* BlogsController.cs:
* AccountController.cs:
* CalendarController.cs: refactoring : the Yavsc controller name

* instdbws.sql: a new profile value : a boolean, `AllowCookies` :'{

* style.css: a class to display notification

* HomeController.cs: Notifies users this site uses cookies (what for
  an information!)
If authenticated, at dimissing this notification, the user's profile
  is updated,
and he'll not mess up anymore with the info.

* App.master:
* YavscHelpers.cs: adds usage of click_action value at
displaying a notification.

* yavsc.js: Implements the notification `click_action`

* Web.config: * enables anonymous profiles
* adds a new `allowcookies` profile property

* Web.csproj: Yavsc controller refactoring

* YaEvent.cs:
* IFreeDateSet.cs: WIP booking

* LocalizedText.resx:
* LocalizedText.fr.resx:
* LocalizedText.Designer.cs:
* LocalizedText.fr.Designer.cs: implements the message "uses cookies"

* YavscModel.csproj: refactoring

* Notification.cs: The Yavsc otification will start as a Google one
  ...
many properties are not yet used, but all seems usefull.

* Web.config: code prettying

* YavscController.cs: Gives Yavsc a concrete base controller
This commit is contained in:
Paul Schneider 2015-10-28 21:02:03 +01:00
commit b8446c2d3e
26 changed files with 256 additions and 116 deletions

View file

@ -0,0 +1,32 @@
//
// ICalendarManager.cs
//
// Author:
// Paul Schneider <paul@pschneider.fr>
//
// Copyright (c) 2015 GNU GPL
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using Yavsc.Model.Google;
using System.Collections.Generic;
namespace Yavsc.Model.Calendar
{
public interface ICalendarManager {
IFreeDateSet GetFreeDates(string username, BookQuery req);
bool Book(string username, YaEvent ev);
}
}

View file

@ -19,40 +19,36 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>.
using System;
using Yavsc.Model.Google;
using System.Collections.Generic;
namespace Yavsc.Model.Calendar
{
/// <summary>
/// Free date.
/// </summary>
public class FreeDateSet
public interface IFreeDateSet
{
/// <summary>
/// Gets or sets the reference.
/// </summary>
/// <value>The reference.</value>
public DateTime [] Values { get; set; }
IEnumerable<Period> Values { get; set; }
/// <summary>
/// Gets or sets the duration.
/// </summary>
/// <value>The duration.</value>
public TimeSpan Duration { get; set; }
TimeSpan Duration { get; set; }
/// <summary>
/// Gets or sets the attendees.
/// </summary>
/// <value>The attendees.</value>
public string UserName { get; set; }
string UserName { get; set; }
/// <summary>
/// Gets or sets the location.
/// </summary>
/// <value>The location.</value>
public string Location { get; set; }
static FreeDateSet CreateFromCalAndQuery(CalendarEventList cal, BookQuery query)
{
throw new NotImplementedException ();
}
string Location { get; set; }
}
}

View file

@ -26,13 +26,8 @@ using Yavsc.Model;
namespace Yavsc.Model.Calendar
{
/// <summary>
/// NF event.
/// </summary>
public class YaEvent
public class BaseEvent
{
/// <summary>
/// The title.
/// </summary>
@ -45,6 +40,7 @@ namespace Yavsc.Model.Calendar
[Required(ErrorMessage="Please, choose a Description.")]
[Display(ResourceType=typeof(LocalizedText),Name="Description")]
public string Description { get; set; }
/// <summary>
/// The location.
/// </summary>
@ -65,6 +61,13 @@ namespace Yavsc.Model.Calendar
[Required(ErrorMessage="Please, choose an End Date.")]
[Display(ResourceType=typeof(LocalizedText),Name="EndDate")]
public DateTime EndDate { get; set; }
}
/// <summary>
/// NF event.
/// </summary>
public class YaEvent : BaseEvent
{
/// <summary>
/// The name of the NF provider.
/// </summary>
@ -90,7 +93,7 @@ namespace Yavsc.Model.Calendar
/// <summary>
/// The image locator.
/// </summary>
[Display(ResourceType=typeof(LocalizedText),Name="ImgLocator")]
public string ImgLocator { get; set; }
[Display(ResourceType=typeof(LocalizedText),Name="Photo")]
public string Photo { get; set; }
}
}