totem custo: new routes
This commit is contained in:
parent
721c0f9e7f
commit
c962998aaa
23 changed files with 335 additions and 167 deletions
|
|
@ -24,12 +24,6 @@ namespace Yavsc.Controllers
|
|||
/// </summary>
|
||||
public class AccountController : Controller
|
||||
{
|
||||
|
||||
string avatarDir = "~/avatars";
|
||||
string defaultAvatar;
|
||||
string defaultAvatarMimetype;
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Avatar the specified user.
|
||||
/// </summary>
|
||||
|
|
@ -50,17 +44,7 @@ namespace Yavsc.Controllers
|
|||
}
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Gets or sets the avatar dir.
|
||||
/// This value is past to <c>Server.MapPath</c>,
|
||||
/// it should start with <c>~/</c>, and we assume it
|
||||
/// to be relative to the application path.
|
||||
/// </summary>
|
||||
/// <value>The avatar dir.</value>
|
||||
public string AvatarDir {
|
||||
get { return avatarDir; }
|
||||
set { avatarDir = value; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Index this instance.
|
||||
|
|
@ -94,17 +78,7 @@ namespace Yavsc.Controllers
|
|||
ViewData ["returnUrl"] = returnUrl;
|
||||
return View (model);
|
||||
}
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="Yavsc.Controllers.BlogsController"/> class.
|
||||
/// </summary>
|
||||
private void GetAvatarConfig ()
|
||||
{
|
||||
string[] defaultAvatarSpec = ConfigurationManager.AppSettings.Get ("DefaultAvatar").Split (';');
|
||||
if (defaultAvatarSpec.Length != 2)
|
||||
throw new ConfigurationErrorsException ("the DefaultAvatar spec should be found as <fileName>;<mime-type> ");
|
||||
defaultAvatar = defaultAvatarSpec [0];
|
||||
defaultAvatarMimetype = defaultAvatarSpec [1];
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Login the specified returnUrl.
|
||||
|
|
@ -117,6 +91,10 @@ namespace Yavsc.Controllers
|
|||
return View ();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Registers the form.
|
||||
/// </summary>
|
||||
/// <returns>The form.</returns>
|
||||
public ActionResult RegisterForm()
|
||||
{
|
||||
return View ("Register");
|
||||
|
|
@ -307,13 +285,13 @@ namespace Yavsc.Controllers
|
|||
// if said valid, move as avatar file
|
||||
// else invalidate the model
|
||||
if (AvatarFile.ContentType == "image/png") {
|
||||
string avdir = Server.MapPath (AvatarDir);
|
||||
string avdir = Server.MapPath (YavscHelpers.AvatarDir);
|
||||
var di = new DirectoryInfo (avdir);
|
||||
if (!di.Exists)
|
||||
di.Create ();
|
||||
string avpath = Path.Combine (avdir, id + ".png");
|
||||
AvatarFile.SaveAs (avpath);
|
||||
model.avatar = Url.Content( AvatarDir + "/" + id + ".png");
|
||||
model.avatar = Url.Content( YavscHelpers.AvatarDir + "/" + id + ".png");
|
||||
} else
|
||||
ModelState.AddModelError ("Avatar",
|
||||
string.Format ("Image type {0} is not supported (suported formats : {1})",
|
||||
|
|
|
|||
|
|
@ -29,46 +29,22 @@ namespace Yavsc.Controllers
|
|||
{
|
||||
private string sitename =
|
||||
WebConfigurationManager.AppSettings ["Name"];
|
||||
string avatarDir = "~/avatars";
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the avatar dir.
|
||||
/// Index the specified title, pageIndex and pageSize.
|
||||
/// </summary>
|
||||
/// <value>The avatar dir.</value>
|
||||
public string AvatarDir {
|
||||
get { return avatarDir; }
|
||||
set { avatarDir = value; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Index the specified user, title, pageIndex and pageSize.
|
||||
/// </summary>
|
||||
/// <param name="user">User.</param>
|
||||
/// <param name="title">Title.</param>
|
||||
/// <param name="pageIndex">Page index.</param>
|
||||
/// <param name="pageSize">Page size.</param>
|
||||
public ActionResult Index (string user = null, string title = null, int pageIndex = 0, int pageSize = 10)
|
||||
public ActionResult Index (int pageIndex = 0, int pageSize = 10)
|
||||
{
|
||||
if (string.IsNullOrEmpty (user)) {
|
||||
return BlogList (pageIndex, pageSize);
|
||||
} else {
|
||||
MembershipUser u = null;
|
||||
if (Membership.FindUsersByName (user) != null)
|
||||
u = Membership.GetUser (user, false);
|
||||
if (u == null) {
|
||||
ModelState.AddModelError ("Author",
|
||||
string.Format ("Utilisateur inconu : {0}", user));
|
||||
return BlogList ();
|
||||
} else {
|
||||
if (string.IsNullOrEmpty (title))
|
||||
return UserPosts (user, pageIndex, pageSize);
|
||||
return UserPost (user, title, pageIndex, pageSize);
|
||||
}
|
||||
}
|
||||
return BlogList (pageIndex, pageSize);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Chooses the media.
|
||||
/// </summary>
|
||||
/// <returns>The media.</returns>
|
||||
/// <param name="id">Identifier.</param>
|
||||
public ActionResult ChooseMedia(long id)
|
||||
{
|
||||
return View ();
|
||||
|
|
@ -87,7 +63,33 @@ namespace Yavsc.Controllers
|
|||
ViewData ["ResultCount"] = totalRecords;
|
||||
ViewData ["PageSize"] = pageSize;
|
||||
ViewData ["PageIndex"] = pageIndex;
|
||||
return View ("Index", new BlogEntryCollection(bs) );
|
||||
var bec = new BlogEntryCollection (bs);
|
||||
return View ("Index", bec );
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Title the specified title, pageIndex and pageSize.
|
||||
/// </summary>
|
||||
/// <param name="title">Title.</param>
|
||||
/// <param name="pageIndex">Page index.</param>
|
||||
/// <param name="pageSize">Page size.</param>
|
||||
///
|
||||
[HttpGet]
|
||||
public ActionResult Title (string id, int pageIndex = 0, int pageSize = 10)
|
||||
{
|
||||
int recordCount;
|
||||
MembershipUser u = Membership.GetUser ();
|
||||
string username = u == null ? null : u.UserName;
|
||||
FindBlogEntryFlags sf = FindBlogEntryFlags.MatchTitle;
|
||||
BlogEntryCollection c =
|
||||
BlogManager.FindPost (username, id, sf, pageIndex, pageSize, out recordCount);
|
||||
var utc = new UTBlogEntryCollection (id);
|
||||
utc.AddRange (c);
|
||||
ViewData ["RecordCount"] = recordCount;
|
||||
ViewData ["PageIndex"] = pageIndex;
|
||||
ViewData ["PageSize"] = pageSize;
|
||||
return View (utc);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -98,33 +100,37 @@ namespace Yavsc.Controllers
|
|||
/// <param name="pageIndex">Page index.</param>
|
||||
/// <param name="pageSize">Page size.</param>
|
||||
[HttpGet]
|
||||
public ActionResult UserPosts (string user, int pageIndex = 0, int pageSize = 10)
|
||||
public ActionResult UserPosts (string id, int pageIndex = 0, int pageSize = 10)
|
||||
{
|
||||
int tr;
|
||||
int recordcount=0;
|
||||
MembershipUser u = Membership.GetUser ();
|
||||
FindBlogEntryFlags sf = FindBlogEntryFlags.MatchUserName;
|
||||
ViewData ["SiteName"] = sitename;
|
||||
ViewData ["BlogUser"] = user;
|
||||
ViewData ["BlogUser"] = id;
|
||||
string readersName = null;
|
||||
ViewData ["PageIndex"] = pageIndex;
|
||||
ViewData ["pageSize"] = pageSize;
|
||||
// displays invisible items when the logged user is also the author
|
||||
if (u != null) {
|
||||
if (u.UserName == user || Roles.IsUserInRole ("Admin"))
|
||||
if (u.UserName == id || Roles.IsUserInRole ("Admin"))
|
||||
sf |= FindBlogEntryFlags.MatchInvisible;
|
||||
readersName = u.UserName;
|
||||
}
|
||||
// find entries
|
||||
BlogEntryCollection c =
|
||||
BlogManager.FindPost (readersName, user, sf, pageIndex, pageSize, out tr);
|
||||
BlogManager.FindPost (readersName, id, sf, pageIndex, pageSize, out recordcount);
|
||||
// Get author's meta data
|
||||
Profile bupr = new Profile (ProfileBase.Create (user));
|
||||
ViewData ["BlogUserProfile"] = bupr;
|
||||
var pr = ProfileBase.Create (id);
|
||||
if (pr != null) {
|
||||
Profile bupr = new Profile (pr);
|
||||
ViewData ["BlogUserProfile"] = bupr;
|
||||
|
||||
// Inform of listing meta data
|
||||
ViewData ["BlogTitle"] = bupr.BlogTitle;
|
||||
ViewData ["Avatar"] = bupr.avatar;
|
||||
ViewData ["RecordCount"] = tr;
|
||||
UUBlogEntryCollection uuc = new UUBlogEntryCollection (user, c);
|
||||
}
|
||||
ViewData ["RecordCount"] = recordcount;
|
||||
UUBlogEntryCollection uuc = new UUBlogEntryCollection (id, c);
|
||||
return View ("UserPosts", uuc);
|
||||
}
|
||||
|
||||
|
|
@ -180,7 +186,12 @@ namespace Yavsc.Controllers
|
|||
if (pr == null)
|
||||
// the owner's profile must exist
|
||||
// in order to publish its bills
|
||||
return View ("NotAuthorized");
|
||||
// This should'nt occur, as long as
|
||||
// a profile must exist for each one of
|
||||
// existing user record in data base
|
||||
// and each post is deleted with user deletion
|
||||
// a post => an author => a profile
|
||||
throw new Exception("Unexpected error retreiving author's profile");
|
||||
ViewData ["BlogUserProfile"] = pr;
|
||||
ViewData ["Avatar"] = pr.avatar;
|
||||
ViewData ["BlogTitle"] = pr.BlogTitle;
|
||||
|
|
@ -241,7 +252,7 @@ namespace Yavsc.Controllers
|
|||
/// </summary>
|
||||
/// <param name="title">Title.</param>
|
||||
[Authorize]
|
||||
public ActionResult Post ( string title)
|
||||
public ActionResult Post (string title)
|
||||
{
|
||||
string un = Membership.GetUser ().UserName;
|
||||
if (String.IsNullOrEmpty (title))
|
||||
|
|
@ -340,26 +351,26 @@ namespace Yavsc.Controllers
|
|||
/// using returnUrl as the URL to return to,
|
||||
/// and confirm as a proof you really know what you do.
|
||||
/// </summary>
|
||||
/// <param name="id">Title.</param>
|
||||
/// <param name="user">User.</param>
|
||||
/// <param name="title">Title.</param>
|
||||
/// <param name="returnUrl">Return URL.</param>
|
||||
/// <param name="confirm">If set to <c>true</c> confirm.</param>
|
||||
[Authorize]
|
||||
public ActionResult RemoveTitle (string user, string title, string returnUrl, bool confirm = false)
|
||||
public ActionResult RemoveTitle (string id, string user, string returnUrl, bool confirm = false)
|
||||
{
|
||||
if (returnUrl == null)
|
||||
if (Request.UrlReferrer != null)
|
||||
returnUrl = Request.UrlReferrer.AbsoluteUri;
|
||||
ViewData ["returnUrl"] = returnUrl;
|
||||
ViewData ["Author"] = user;
|
||||
ViewData ["Title"] = title;
|
||||
ViewData ["Title"] = id;
|
||||
|
||||
if (Membership.GetUser ().UserName != user)
|
||||
if (!Roles.IsUserInRole("Admin"))
|
||||
throw new AuthorizationDenied (user);
|
||||
if (!confirm)
|
||||
return View ("RemoveTitle");
|
||||
BlogManager.RemoveTitle (user, title);
|
||||
BlogManager.RemoveTitle (user, id);
|
||||
if (returnUrl == null)
|
||||
RedirectToAction ("Index", new { user = user });
|
||||
return Redirect (returnUrl);
|
||||
|
|
|
|||
|
|
@ -26,6 +26,11 @@ namespace Yavsc.Controllers
|
|||
/// </summary>
|
||||
public class GoogleController : Controller
|
||||
{
|
||||
public ActionResult Index()
|
||||
{
|
||||
return View ();
|
||||
}
|
||||
|
||||
private string SetSessionSate ()
|
||||
{
|
||||
string state = "security_token";
|
||||
|
|
|
|||
|
|
@ -86,6 +86,7 @@ namespace Yavsc.Controllers
|
|||
{
|
||||
return View ();
|
||||
}
|
||||
|
||||
public ActionResult Credits ()
|
||||
{
|
||||
return View ();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue