un positionnement de paramètre workflow des pros
This commit is contained in:
parent
fbd352e788
commit
96746fcc0b
322 changed files with 25893 additions and 3844 deletions
|
|
@ -30,7 +30,8 @@ namespace Yavsc.Models.Auth
|
|||
public string Address { get; set; }
|
||||
}
|
||||
|
||||
public class MyUpdate {
|
||||
public class UserInfo {
|
||||
public string UserId { get; set; }
|
||||
|
||||
public string UserName { get; set; }
|
||||
public string Avatar { get; set; }
|
||||
|
|
|
|||
9
Yavsc/ViewModels/Administration/AdminViewModel.cs
Normal file
9
Yavsc/ViewModels/Administration/AdminViewModel.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
|
||||
namespace Yavsc.ViewModels.Administration {
|
||||
|
||||
public class AdminViewModel {
|
||||
public RoleInfo [] Roles { get; set; }
|
||||
public int AdminCount { get; set; }
|
||||
public bool YouAreAdmin { get; set; }
|
||||
}
|
||||
}
|
||||
22
Yavsc/ViewModels/Administration/RoleInfo.cs
Normal file
22
Yavsc/ViewModels/Administration/RoleInfo.cs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
using System.Linq;
|
||||
using Microsoft.AspNet.Identity.EntityFramework;
|
||||
|
||||
namespace Yavsc.ViewModels.Administration
|
||||
{
|
||||
public class RoleInfo
|
||||
{
|
||||
public RoleInfo ()
|
||||
{
|
||||
|
||||
}
|
||||
public RoleInfo ( IdentityRole role)
|
||||
{
|
||||
Name = role.Name;
|
||||
Id = role.Id;
|
||||
Users = role.Users.Select(u => u.UserId).ToArray();
|
||||
}
|
||||
public string Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string[] Users { get; set; }
|
||||
}
|
||||
}
|
||||
15
Yavsc/ViewModels/Administration/RoleUserCollection.cs
Normal file
15
Yavsc/ViewModels/Administration/RoleUserCollection.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
using Yavsc.Models.Auth;
|
||||
|
||||
namespace Yavsc.ViewModels.Administration
|
||||
{
|
||||
public class RoleUserCollection
|
||||
{
|
||||
public RoleUserCollection()
|
||||
{
|
||||
|
||||
}
|
||||
public string Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public UserInfo[] Users { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -4,18 +4,9 @@ using System.Security.Claims;
|
|||
using Microsoft.AspNet.Authorization;
|
||||
using Yavsc.Models;
|
||||
using Yavsc.Models.Booking;
|
||||
using Yavsc.ViewModels.Auth;
|
||||
|
||||
namespace Yavsc {
|
||||
public class PrivateChatEntryRequirement : IAuthorizationRequirement
|
||||
{
|
||||
}
|
||||
|
||||
public class EditRequirement : IAuthorizationRequirement
|
||||
{
|
||||
public EditRequirement()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
public class FileSpotInfo : IAuthorizationRequirement
|
||||
{
|
||||
|
|
@ -63,18 +54,16 @@ namespace Yavsc {
|
|||
|
||||
}
|
||||
|
||||
public class BlogViewHandler : AuthorizationHandler<ViewRequirement, Blog>
|
||||
public class ViewFileHandler : AuthorizationHandler<ViewRequirement, ViewFileContext>
|
||||
{
|
||||
protected override void Handle(AuthorizationContext context, ViewRequirement requirement, Blog resource)
|
||||
protected override void Handle(AuthorizationContext context, ViewRequirement requirement, ViewFileContext fileContext)
|
||||
{
|
||||
if (context.User.IsInRole("Moderator"))
|
||||
// TODO file access rules
|
||||
if (fileContext.Path.StartsWith("/pub/"))
|
||||
context.Succeed(requirement);
|
||||
else if (context.User.Identity.IsAuthenticated)
|
||||
if (resource.AuthorId == context.User.GetUserId())
|
||||
context.Succeed(requirement);
|
||||
else if (resource.Visible)
|
||||
// TODO && ( resource.Circles == null || context.User belongs to resource.Circles )
|
||||
context.Succeed(requirement);
|
||||
else {
|
||||
context.Succeed(requirement);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
19
Yavsc/ViewModels/Auth/BlogEditHandler.cs
Normal file
19
Yavsc/ViewModels/Auth/BlogEditHandler.cs
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
using System.Security.Claims;
|
||||
using Microsoft.AspNet.Authorization;
|
||||
using Yavsc.Models;
|
||||
|
||||
namespace Yavsc.ViewModels.Auth
|
||||
{
|
||||
public class BlogEditHandler : AuthorizationHandler<EditRequirement, Blog>
|
||||
{
|
||||
protected override void Handle(AuthorizationContext context, EditRequirement requirement, Blog resource)
|
||||
{
|
||||
if (context.User.IsInRole(Constants.BlogModeratorGroupName))
|
||||
context.Succeed(requirement);
|
||||
else if (context.User.Identity.IsAuthenticated)
|
||||
if (resource.AuthorId == context.User.GetUserId())
|
||||
context.Succeed(requirement);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
22
Yavsc/ViewModels/Auth/BlogViewHandler.cs
Normal file
22
Yavsc/ViewModels/Auth/BlogViewHandler.cs
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
using System.Security.Claims;
|
||||
using Microsoft.AspNet.Authorization;
|
||||
using Yavsc.Models;
|
||||
|
||||
namespace Yavsc.ViewModels.Auth
|
||||
{
|
||||
public class BlogViewHandler : AuthorizationHandler<ViewRequirement, Blog>
|
||||
{
|
||||
protected override void Handle(AuthorizationContext context, ViewRequirement requirement, Blog resource)
|
||||
{
|
||||
if (context.User.IsInRole(Constants.BlogModeratorGroupName)
|
||||
|| context.User.IsInRole(Constants.AdminGroupName))
|
||||
context.Succeed(requirement);
|
||||
else if (context.User.Identity.IsAuthenticated)
|
||||
if (resource.AuthorId == context.User.GetUserId())
|
||||
context.Succeed(requirement);
|
||||
else if (resource.Visible)
|
||||
// TODO && ( resource.Circles == null || context.User belongs to resource.Circles )
|
||||
context.Succeed(requirement);
|
||||
}
|
||||
}
|
||||
}
|
||||
11
Yavsc/ViewModels/Auth/EditRequirement.cs
Normal file
11
Yavsc/ViewModels/Auth/EditRequirement.cs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
using Microsoft.AspNet.Authorization;
|
||||
|
||||
namespace Yavsc.ViewModels.Auth
|
||||
{
|
||||
public class EditRequirement : IAuthorizationRequirement
|
||||
{
|
||||
public EditRequirement()
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
23
Yavsc/ViewModels/Auth/EstimateViewHandler.cs
Normal file
23
Yavsc/ViewModels/Auth/EstimateViewHandler.cs
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
using System.Security.Claims;
|
||||
using Microsoft.AspNet.Authorization;
|
||||
using Yavsc.Models.Billing;
|
||||
|
||||
namespace Yavsc.ViewModels.Auth
|
||||
{
|
||||
public class EstimateViewHandler : AuthorizationHandler<ViewRequirement, Estimate>
|
||||
{
|
||||
protected override void Handle(AuthorizationContext context, ViewRequirement requirement, Estimate resource)
|
||||
{
|
||||
|
||||
if (context.User.IsInRole(Constants.AdminGroupName)
|
||||
|| context.User.IsInRole(Constants.FrontOfficeGroupName))
|
||||
context.Succeed(requirement);
|
||||
else if (context.User.Identity.IsAuthenticated) {
|
||||
var uid = context.User.GetUserId();
|
||||
if (resource.OwnerId == uid || resource.ClientId == uid)
|
||||
context.Succeed(requirement);
|
||||
// TODO && ( resource.Circles == null || context.User belongs to resource.Circles )
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
8
Yavsc/ViewModels/Auth/PrivateChatEntryRequirement.cs
Normal file
8
Yavsc/ViewModels/Auth/PrivateChatEntryRequirement.cs
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
using Microsoft.AspNet.Authorization;
|
||||
|
||||
namespace Yavsc.ViewModels.Auth
|
||||
{
|
||||
public class PrivateChatEntryRequirement : IAuthorizationRequirement
|
||||
{
|
||||
}
|
||||
}
|
||||
11
Yavsc/ViewModels/Auth/ViewFileContext.cs
Normal file
11
Yavsc/ViewModels/Auth/ViewFileContext.cs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
using Microsoft.AspNet.FileProviders;
|
||||
|
||||
namespace Yavsc.ViewModels.Auth
|
||||
{
|
||||
public class ViewFileContext
|
||||
{
|
||||
public string UserName { get; set; }
|
||||
public IFileInfo File { get; set; }
|
||||
public string Path { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
using System.Collections.Generic;
|
||||
using Yavsc.Model.Chat;
|
||||
using Yavsc.Models.Chat;
|
||||
|
||||
namespace Yavsc.ViewModels.Chat {
|
||||
public class ChatUserInfo
|
||||
public class ChatUserInfo : IChatUserInfo
|
||||
{
|
||||
|
||||
public List<Connection> Connections { get; set; }
|
||||
|
|
@ -13,5 +13,19 @@ public class ChatUserInfo
|
|||
|
||||
public string Avatar { get; set; }
|
||||
|
||||
public string[] Roles { get; set; }
|
||||
|
||||
}
|
||||
|
||||
public interface IChatUserInfo
|
||||
{
|
||||
List<Connection> Connections { get; set; }
|
||||
string UserId { get; set; }
|
||||
|
||||
string UserName { get; set; }
|
||||
|
||||
string Avatar { get; set; }
|
||||
|
||||
string[] Roles { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
13
Yavsc/ViewModels/FrontOffice/FrontOfficeIndexViewModel.cs
Normal file
13
Yavsc/ViewModels/FrontOffice/FrontOfficeIndexViewModel.cs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
namespace Yavsc.ViewModels.FrontOffice
|
||||
{
|
||||
public class FrontOfficeIndexViewModel
|
||||
{
|
||||
public int EstimateToProduceCount { get; set; }
|
||||
public int EstimateToSignAsProCount { get; set; }
|
||||
public int EstimateToSignAsCliCount { get; set; }
|
||||
public int BillToSignAsProCount { get; set; }
|
||||
public int BillToSignAsCliCount { get; set; }
|
||||
public int NewPayementsCount { get; set; }
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -14,5 +14,6 @@ namespace Yavsc.ViewModels.Gen
|
|||
public string DestDir { get; set; }
|
||||
public bool Generated { get; set; }
|
||||
public HtmlString GenerationErrorMessage { get; set; }
|
||||
public string Temp { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,11 @@
|
|||
using System.Collections.Generic;
|
||||
using Microsoft.AspNet.Identity;
|
||||
using Yavsc.Model.Bank;
|
||||
using Yavsc.Models;
|
||||
|
||||
namespace Yavsc.ViewModels.Manage
|
||||
{
|
||||
using Model.Bank;
|
||||
using Models;
|
||||
using Models.Workflow;
|
||||
public class IndexViewModel
|
||||
{
|
||||
public string UserName {get; set; }
|
||||
|
|
@ -21,7 +22,9 @@ namespace Yavsc.ViewModels.Manage
|
|||
|
||||
public bool BrowserRemembered { get; set; }
|
||||
|
||||
public Activity Activity { get; set; }
|
||||
public List<UserActivity> Activity { get; set; }
|
||||
|
||||
public bool HaveProfessionalSettings { get; set; }
|
||||
|
||||
public long PostsCounter { get; set; }
|
||||
|
||||
|
|
|
|||
9
Yavsc/ViewModels/Manage/SetActivityViewModel.cs
Normal file
9
Yavsc/ViewModels/Manage/SetActivityViewModel.cs
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
using Yavsc.Models.Workflow;
|
||||
|
||||
namespace Yavsc.ViewModels.Manage
|
||||
{
|
||||
public class SetActivityViewModel : PerformerProfile
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ namespace Yavsc.ViewModels.UserFiles
|
|||
{
|
||||
public string UserName { get; private set; }
|
||||
public string SubPath { get; private set; }
|
||||
public UserFileInfo [] Files {
|
||||
public DefaultFileInfo [] Files {
|
||||
get; private set;
|
||||
}
|
||||
public string [] SubDirectories {
|
||||
|
|
@ -22,12 +22,12 @@ namespace Yavsc.ViewModels.UserFiles
|
|||
var finalPath = (path==null) ? username : username + Path.DirectorySeparatorChar + path;
|
||||
if ( !finalPath.IsValidPath() )
|
||||
throw new InvalidOperationException(
|
||||
$"File name contains invalid chars, using path {SubPath}");
|
||||
$"File name contains invalid chars, using path {finalPath}");
|
||||
|
||||
dInfo = new DirectoryInfo(
|
||||
Path.Combine(Startup.UserFilesDirName,finalPath));
|
||||
Files = dInfo.GetFiles().Select
|
||||
( entry => new UserFileInfo { Name = entry.Name, Size = entry.Length,
|
||||
( entry => new DefaultFileInfo { Name = entry.Name, Size = entry.Length,
|
||||
CreationTime = entry.CreationTime, LastModified = entry.LastWriteTime }).ToArray();
|
||||
SubDirectories = dInfo.GetDirectories().Select
|
||||
( d=> d.Name ).ToArray();
|
||||
|
|
|
|||
|
|
@ -2,9 +2,8 @@ using System;
|
|||
|
||||
namespace Yavsc.ViewModels
|
||||
{
|
||||
public class UserFileInfo
|
||||
public class DefaultFileInfo
|
||||
{
|
||||
|
||||
public string Name { get; set; }
|
||||
|
||||
public long Size { get; set; }
|
||||
|
|
@ -12,6 +11,8 @@ namespace Yavsc.ViewModels
|
|||
public DateTime CreationTime { get; set; }
|
||||
|
||||
public DateTime LastModified { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue