Many fixes
* Profile.aspx: * ProfileEdition.cs: Fixes the username modification * Book-next.aspx: pollution * NpgsqlMembershipProvider.cs: xmldoc * NpgsqlProfileProvider.cs: use default values from configuration * NpgsqlUserNameProvider.cs: Fixes the username detection * test-domain-TestAPI.config: profile dates must be returned as DateTime * instdbws.sql: The conversion to a valid .Net DateTime requires a credible date time as source value, the null one is not supported. * style.css: Fixes the new notification style * AccountController.cs: Fixes the profile edition. Now using the anti forgery key at login time * Book.aspx: * LocalizedText.resx: * LocalizedText.fr.resx: * CalendarApi.cs: * GoogleController.cs: * LocalizedText.Designer.cs: * LocalizedText.fr.Designer.cs: WIP booking * HomeController.cs: code prettying * Global.asax.cs: Limits the usage of titles in a route to the blog controller * OAuth2.cs: Profile values may be of type DBNull ... * T.cs: All translated strings will be Html encoded, as expected from an html helper * YavscHelpers.cs: A new method to build a javascript string... * App.master: * AppAdmin.master: Notification.body is now a js string literal * NoLogin.master: sync with the true master * Login.aspx: Permits the anti forgery key usage * Estimate.aspx: refactoring * Web.config: Fixes a later commit on the catalog name space * Web.csproj: An ajax helper to notify * ChangePasswordModel.cs: * RegisterClientModel.cs: A regexp for user name * LoginModel.cs: A regexp for user name and password * Profile.cs: A regexp for user name, and profile usage fixes * UserManager.cs: Checks for username availability before trying to modify it * YavscModel.csproj: `ProfileEdition` class addition * ChangeLog: should not be indexed * ChangeLog: useless here * ValidateAjaxAttribute.cs: Fixes usage of HtmlFieldPrefix * BookQuery.cs: Start, end hour and role are required * OtherWebException.cs: useless
This commit is contained in:
parent
0a91d3935b
commit
d9d5bb308e
42 changed files with 441 additions and 275 deletions
|
|
@ -106,18 +106,18 @@ namespace Yavsc.Helpers.Google
|
|||
using (Stream respstream = resp.GetResponseStream ()) {
|
||||
try {
|
||||
res = (CalendarEventList) new DataContractJsonSerializer(typeof(CalendarEventList)).ReadObject (respstream);
|
||||
} catch (Exception ex) {
|
||||
} catch (Exception ) {
|
||||
respstream.Close ();
|
||||
resp.Close ();
|
||||
webreq.Abort ();
|
||||
throw ex;
|
||||
throw ;
|
||||
}
|
||||
}
|
||||
resp.Close ();
|
||||
}
|
||||
} catch (WebException ex) {
|
||||
} catch (WebException ) {
|
||||
webreq.Abort ();
|
||||
throw new OtherWebException (ex);
|
||||
throw;
|
||||
}
|
||||
webreq.Abort ();
|
||||
return res;
|
||||
|
|
|
|||
|
|
@ -226,16 +226,15 @@ namespace Yavsc.Helpers.Google
|
|||
public static string GetFreshGoogleCredential (ProfileBase pr)
|
||||
{
|
||||
string token = (string)pr.GetPropertyValue ("gtoken");
|
||||
string token_type = (string)pr.GetPropertyValue ("gtokentype");
|
||||
DateTime token_exp = (DateTime)pr.GetPropertyValue ("gtokenexpir");
|
||||
string token_type = (string) pr.GetPropertyValue ("gtokentype");
|
||||
DateTime token_exp = (DateTime) pr.GetPropertyValue ("gtokenexpir");
|
||||
if (token_exp < DateTime.Now) {
|
||||
object ort = pr.GetPropertyValue ("grefreshtoken");
|
||||
if (ort == null) {
|
||||
if (ort == null || ort is DBNull) {
|
||||
throw new InvalidOAuth2RefreshToken ("Google");
|
||||
}
|
||||
else {
|
||||
string refresh_token = ort as string;
|
||||
|
||||
AuthToken gat = OAuth2.GetTokenPosting (
|
||||
string.Format ("grant_type=refresh_token&client_id={0}&client_secret={1}&refresh_token={2}",
|
||||
CLIENT_ID, CLIENT_SECRET, refresh_token));
|
||||
|
|
|
|||
|
|
@ -33,10 +33,10 @@ namespace Yavsc.Helpers
|
|||
/// </summary>
|
||||
/// <param name="helper">Helper.</param>
|
||||
/// <param name="text">Text.</param>
|
||||
public static string Translate(this HtmlHelper helper, string text)
|
||||
public static IHtmlString Translate(this HtmlHelper helper, string text)
|
||||
{
|
||||
// Just call the other one, to avoid having two copies (we don't use the HtmlHelper).
|
||||
return GetString(text);
|
||||
return new MvcHtmlString(helper.Encode(GetString(text)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ using Yavsc.Model.Messaging;
|
|||
namespace Yavsc.Helpers
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Yavsc helpers.
|
||||
/// </summary>
|
||||
|
|
@ -62,7 +61,7 @@ namespace Yavsc.Helpers
|
|||
{
|
||||
SendActivationMessage (helper.Route("Default", new { controller="Account",
|
||||
action = "Validate",
|
||||
key=user.ProviderUserKey.ToString() } )
|
||||
key=user.ProviderUserKey.ToString(), id = user.UserName } )
|
||||
, WebConfigurationManager.AppSettings ["RegistrationMessage"],
|
||||
user);
|
||||
}
|
||||
|
|
@ -73,7 +72,12 @@ namespace Yavsc.Helpers
|
|||
/// <param name="user">User.</param>
|
||||
public static void SendActivationMessage(this System.Web.Mvc.UrlHelper helper, MembershipUser user)
|
||||
{
|
||||
SendActivationMessage (helper.Content("~/Account/Validate/"+user.UserName+"/?key="+user.ProviderUserKey.ToString())
|
||||
SendActivationMessage (
|
||||
string.Format("{2}://{3}/Account/Validate/{1}?key={0}",
|
||||
user.ProviderUserKey.ToString(), user.UserName ,
|
||||
helper.RequestContext.HttpContext.Request.Url.Scheme,
|
||||
helper.RequestContext.HttpContext.Request.Url.Authority
|
||||
)
|
||||
, WebConfigurationManager.AppSettings ["RegistrationMessage"],
|
||||
user);
|
||||
}
|
||||
|
|
@ -221,25 +225,11 @@ namespace Yavsc.Helpers
|
|||
JavaScriptSerializer serializer = new JavaScriptSerializer();
|
||||
return serializer.Serialize(obj);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Notify the specified helper and message.
|
||||
/// </summary>
|
||||
/// <param name="helper">Helper.</param>
|
||||
/// <param name="message">Message.</param>
|
||||
public static void Notify (this HtmlHelper helper, string message) {
|
||||
Notify (helper.ViewData, message);
|
||||
}
|
||||
/// <summary>
|
||||
/// Notify the specified viewData and message.
|
||||
/// </summary>
|
||||
/// <param name="viewData">View data.</param>
|
||||
/// <param name="message">Message.</param>
|
||||
public static void Notify(ViewDataDictionary viewData, string message, string click_action=null) {
|
||||
if (viewData ["Notifications"] == null)
|
||||
viewData ["Notifications"] = new List<Notification> ();
|
||||
(viewData ["Notifications"] as List<Notification>).Add (
|
||||
new Notification { body = message.Replace("\'","\\\'"),
|
||||
public static void Notify(ViewDataDictionary ViewData, string message, string click_action=null) {
|
||||
if (ViewData ["Notifications"] == null)
|
||||
ViewData ["Notifications"] = new List<Notification> ();
|
||||
(ViewData ["Notifications"] as List<Notification>).Add (
|
||||
new Notification { body = YavscAjaxHelper.QuoteJavascriptString(message),
|
||||
click_action = click_action } ) ;
|
||||
}
|
||||
/// <summary>
|
||||
|
|
@ -339,7 +329,7 @@ namespace Yavsc.Helpers
|
|||
}
|
||||
}
|
||||
if (ResultCount == 0) {
|
||||
writer.Write (none);
|
||||
writer.WriteEncodedText(none);
|
||||
}
|
||||
return new MvcHtmlString(strwr.ToString());
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue