Added ASC.Projects
This commit is contained in:
parent
f0e227731f
commit
69922e7c48
@ -75,7 +75,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
|
|||||||
.editorconfig = .editorconfig
|
.editorconfig = .editorconfig
|
||||||
EndProjectSection
|
EndProjectSection
|
||||||
EndProject
|
EndProject
|
||||||
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASC.Data.Encryption", "common\ASC.Data.Encryption\ASC.Data.Encryption.csproj", "{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}"
|
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ASC.Data.Encryption", "common\ASC.Data.Encryption\ASC.Data.Encryption.csproj", "{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}"
|
||||||
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ASC.Projects", "products\ASC.Projects\Server\ASC.Projects.csproj", "{D1A33923-5680-4B86-A7DA-41E78350D997}"
|
||||||
EndProject
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
@ -215,6 +217,10 @@ Global
|
|||||||
{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}.Release|Any CPU.Build.0 = Release|Any CPU
|
{C4DF1A63-C9EB-4D8F-A4E5-4FD9249A5089}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
|
{D1A33923-5680-4B86-A7DA-41E78350D997}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
|
||||||
|
{D1A33923-5680-4B86-A7DA-41E78350D997}.Debug|Any CPU.Build.0 = Debug|Any CPU
|
||||||
|
{D1A33923-5680-4B86-A7DA-41E78350D997}.Release|Any CPU.ActiveCfg = Release|Any CPU
|
||||||
|
{D1A33923-5680-4B86-A7DA-41E78350D997}.Release|Any CPU.Build.0 = Release|Any CPU
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
2
build/run/ProjectsServer.bat
Normal file
2
build/run/ProjectsServer.bat
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
echo "RUN ASC.Projects"
|
||||||
|
call dotnet run --project ..\..\products\ASC.Projects\Server\ASC.Projects.csproj --no-build --$STORAGE_ROOT=..\..\..\Data --log__dir=..\..\..\Logs --log__name=projects
|
@ -17,6 +17,15 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"instanceScope": "InstancePerLifetimeScope"
|
"instanceScope": "InstancePerLifetimeScope"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "ASC.Projects.Configuration.ProductEntryPoint, ASC.Projects",
|
||||||
|
"services": [
|
||||||
|
{
|
||||||
|
"type": "ASC.Web.Core.IWebItem, ASC.Web.Core"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"instanceScope": "InstancePerLifetimeScope"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
45
products/ASC.Projects/Server/ASC.Projects.csproj
Normal file
45
products/ASC.Projects/Server/ASC.Projects.csproj
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||||
|
|
||||||
|
<PropertyGroup>
|
||||||
|
<TargetFramework>netcoreapp3.1</TargetFramework>
|
||||||
|
</PropertyGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.10.9" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\..\..\common\ASC.Api.Core\ASC.Api.Core.csproj" />
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Update="Resources\ProjectsCommonResource.Designer.cs">
|
||||||
|
<DesignTime>True</DesignTime>
|
||||||
|
<AutoGen>True</AutoGen>
|
||||||
|
<DependentUpon>ProjectsCommonResource.resx</DependentUpon>
|
||||||
|
</Compile>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
<ItemGroup>
|
||||||
|
<EmbeddedResource Update="Resources\ProjectsCommonResource.resx">
|
||||||
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
|
<LastGenOutput>ProjectsCommonResource.Designer.cs</LastGenOutput>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ProjectsCommonResource.ru.resx">
|
||||||
|
<DependentUpon>ProjectsCommonResource.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ProjectsCommonResource.de.resx">
|
||||||
|
<DependentUpon>ProjectsCommonResource.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ProjectsCommonResource.es.resx">
|
||||||
|
<DependentUpon>ProjectsCommonResource.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ProjectsCommonResource.fr.resx">
|
||||||
|
<DependentUpon>ProjectsCommonResource.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Update="Resources\ProjectsCommonResource.it.resx">
|
||||||
|
<DependentUpon>ProjectsCommonResource.resx</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
|
</ItemGroup>
|
||||||
|
|
||||||
|
</Project>
|
77
products/ASC.Projects/Server/Classes/PathProvider.cs
Normal file
77
products/ASC.Projects/Server/Classes/PathProvider.cs
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* (c) Copyright Ascensio System Limited 2010-2018
|
||||||
|
*
|
||||||
|
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
|
||||||
|
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
|
||||||
|
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
|
||||||
|
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
|
||||||
|
*
|
||||||
|
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
|
||||||
|
*
|
||||||
|
* You can contact Ascensio System SIA by email at sales@onlyoffice.com
|
||||||
|
*
|
||||||
|
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
|
||||||
|
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
|
||||||
|
*
|
||||||
|
* Pursuant to Section 7 § 3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
|
||||||
|
* relevant author attributions when distributing the software. If the display of the logo in its graphic
|
||||||
|
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
|
||||||
|
* in every copy of the program you distribute.
|
||||||
|
* Pursuant to Section 7 § 3(e) we decline to grant you any rights under trademark law for use of our trademarks.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
|
||||||
|
using ASC.Common;
|
||||||
|
using ASC.Core.Common;
|
||||||
|
|
||||||
|
namespace ASC.Web.Projects.Classes
|
||||||
|
{
|
||||||
|
[Scope]
|
||||||
|
public class PathProvider
|
||||||
|
{
|
||||||
|
public string BaseVirtualPath { get; private set; }
|
||||||
|
public string BaseAbsolutePath { get; private set; }
|
||||||
|
|
||||||
|
public PathProvider(BaseCommonLinkUtility commonLinkUtility)
|
||||||
|
{
|
||||||
|
BaseVirtualPath = "~/Products/Projects/";
|
||||||
|
try
|
||||||
|
{
|
||||||
|
BaseAbsolutePath = commonLinkUtility.ToAbsolute(BaseVirtualPath);
|
||||||
|
}
|
||||||
|
catch (Exception)
|
||||||
|
{
|
||||||
|
BaseAbsolutePath = BaseVirtualPath;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//public static string GetFileStaticRelativePath(String fileName)
|
||||||
|
//{
|
||||||
|
// var ext = FileUtility.GetFileExtension(fileName);
|
||||||
|
// switch (ext)
|
||||||
|
// {
|
||||||
|
// case ".js":
|
||||||
|
// return VirtualPathUtility.ToAbsolute("~/Products/Projects/js/" + fileName);
|
||||||
|
// case ".png":
|
||||||
|
// return WebPath.GetPath("/Products/Projects/App_Themes/Default/images/" + fileName);
|
||||||
|
// case ".ascx":
|
||||||
|
// return CommonLinkUtility.ToAbsolute("~/Products/Projects/Controls/" + fileName);
|
||||||
|
// case ".css":
|
||||||
|
// case ".less":
|
||||||
|
// return VirtualPathUtility.ToAbsolute("~/Products/Projects/App_Themes/default/css/" + fileName);
|
||||||
|
// }
|
||||||
|
// return fileName;
|
||||||
|
//}
|
||||||
|
|
||||||
|
//public static string GetVirtualPath(string physicalPath)
|
||||||
|
//{
|
||||||
|
// var rootpath = HttpContext.Current.Server.MapPath("~/");
|
||||||
|
// return "~/" + physicalPath.Replace(rootpath, string.Empty).Replace("\\", "/");
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
168
products/ASC.Projects/Server/Configuration/ProductEntryPoint.cs
Normal file
168
products/ASC.Projects/Server/Configuration/ProductEntryPoint.cs
Normal file
@ -0,0 +1,168 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* (c) Copyright Ascensio System Limited 2010-2018
|
||||||
|
*
|
||||||
|
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
|
||||||
|
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
|
||||||
|
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
|
||||||
|
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
|
||||||
|
*
|
||||||
|
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
|
||||||
|
*
|
||||||
|
* You can contact Ascensio System SIA by email at sales@onlyoffice.com
|
||||||
|
*
|
||||||
|
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
|
||||||
|
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
|
||||||
|
*
|
||||||
|
* Pursuant to Section 7 § 3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
|
||||||
|
* relevant author attributions when distributing the software. If the display of the logo in its graphic
|
||||||
|
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
|
||||||
|
* in every copy of the program you distribute.
|
||||||
|
* Pursuant to Section 7 § 3(e) we decline to grant you any rights under trademark law for use of our trademarks.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
|
using ASC.Common;
|
||||||
|
using ASC.Core;
|
||||||
|
using ASC.Projects.Resources;
|
||||||
|
using ASC.Web.Core;
|
||||||
|
using ASC.Web.Projects.Classes;
|
||||||
|
|
||||||
|
namespace ASC.Projects.Configuration
|
||||||
|
{
|
||||||
|
[Scope]
|
||||||
|
public class ProductEntryPoint : Product
|
||||||
|
{
|
||||||
|
private ProductContext context;
|
||||||
|
//internal static IMapper Mapper { get; set; }
|
||||||
|
|
||||||
|
//public static readonly Guid ID = EngineFactory.ProductId;
|
||||||
|
public static readonly Guid ID = WebItemManager.ProjectsProductID;
|
||||||
|
public static readonly Guid MilestoneModuleID = new Guid("{AF4AFD50-5553-47f3-8F91-651057BC930B}");
|
||||||
|
public static readonly Guid TasksModuleID = new Guid("{04339423-70E6-4b81-A2DF-3C31C723BD90}");
|
||||||
|
public static readonly Guid GanttChartModuleID = new Guid("{23CD2123-3C4C-4868-B927-A26BB49CA458}");
|
||||||
|
public static readonly Guid MessagesModuleID = new Guid("{9FF0FADE-6CFA-44ee-901F-6185593E4594}");
|
||||||
|
public static readonly Guid DocumentsModuleID = new Guid("{81402440-557D-401d-9EE1-D570748F426D}");
|
||||||
|
public static readonly Guid TimeTrackingModuleID = new Guid("{57E87DA0-D59B-443d-99D1-D9ABCAB31084}");
|
||||||
|
public static readonly Guid ProjectTeamModuleID = new Guid("{C42F993E-5D22-497e-AC26-1E9592515898}");
|
||||||
|
public static readonly Guid ContactsModuleID = new Guid("{ec12f0ba-14cb-413c-b5e5-65f6ddd5fc19}");
|
||||||
|
|
||||||
|
private AuthContext AuthContext { get; }
|
||||||
|
private UserManager UserManager { get; }
|
||||||
|
private PathProvider PathProvider { get; }
|
||||||
|
|
||||||
|
public ProductEntryPoint(
|
||||||
|
AuthContext authContext,
|
||||||
|
UserManager userManager,
|
||||||
|
PathProvider pathProvider)
|
||||||
|
{
|
||||||
|
AuthContext = authContext;
|
||||||
|
UserManager = userManager;
|
||||||
|
PathProvider = pathProvider;
|
||||||
|
}
|
||||||
|
|
||||||
|
public override Guid ProductID
|
||||||
|
{
|
||||||
|
get { return ID; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Name
|
||||||
|
{
|
||||||
|
get { return ProjectsCommonResource.ProductName; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string Description
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
var id = AuthContext.CurrentAccount.ID;
|
||||||
|
|
||||||
|
if (UserManager.IsUserInGroup(id, ASC.Core.Users.Constants.GroupVisitor.ID))
|
||||||
|
return ProjectsCommonResource.ProductDescriptionShort;
|
||||||
|
|
||||||
|
if (UserManager.IsUserInGroup(id, ASC.Core.Users.Constants.GroupAdmin.ID) || UserManager.IsUserInGroup(id, ID))
|
||||||
|
return ProjectsCommonResource.ProductDescriptionEx;
|
||||||
|
|
||||||
|
return ProjectsCommonResource.ProductDescription;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string StartURL
|
||||||
|
{
|
||||||
|
get { return PathProvider.BaseAbsolutePath; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string HelpURL
|
||||||
|
{
|
||||||
|
get { return string.Concat(PathProvider.BaseVirtualPath, "Help.aspx"); }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ProductClassName
|
||||||
|
{
|
||||||
|
get { return "projects"; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override bool Visible { get { return true; } }
|
||||||
|
|
||||||
|
public override ProductContext Context
|
||||||
|
{
|
||||||
|
get { return context; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public override string ApiURL => "api/2.0/projects/info.json";
|
||||||
|
|
||||||
|
public override void Init()
|
||||||
|
{
|
||||||
|
context = new ProductContext
|
||||||
|
{
|
||||||
|
//MasterPageFile = String.Concat(PathProvider.BaseVirtualPath, "Masters/BasicTemplate.Master"),
|
||||||
|
DisabledIconFileName = "product_disabled_logo.png",
|
||||||
|
IconFileName = "product_logo.png",
|
||||||
|
LargeIconFileName = "product_logolarge.svg",
|
||||||
|
//SubscriptionManager = new ProductSubscriptionManager(),
|
||||||
|
DefaultSortOrder = 20,
|
||||||
|
//SpaceUsageStatManager = new ProjectsSpaceUsageStatManager(),
|
||||||
|
AdminOpportunities = () => ProjectsCommonResource.ProductAdminOpportunities.Split('|').ToList(),
|
||||||
|
UserOpportunities = () => ProjectsCommonResource.ProductUserOpportunities.Split('|').ToList(),
|
||||||
|
HasComplexHierarchyOfAccessRights = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
//FileEngine.RegisterFileSecurityProvider();
|
||||||
|
//SearchHandlerManager.Registry(new SearchHandler());
|
||||||
|
//NotifyClient.RegisterSecurityInterceptor();
|
||||||
|
//ClientScriptLocalization = new ClientLocalizationResources();
|
||||||
|
//DIHelper.Register();
|
||||||
|
|
||||||
|
//var configuration = new MapperConfiguration(cfg =>
|
||||||
|
//{
|
||||||
|
// cfg.CreateMap<Task, TasksWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant()));
|
||||||
|
// cfg.CreateMap<Message, DiscussionsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant()));
|
||||||
|
// cfg.CreateMap<Milestone, MilestonesWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant()));
|
||||||
|
// cfg.CreateMap<Project, ProjectsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant()));
|
||||||
|
// cfg.CreateMap<Subtask, SubtasksWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant()));
|
||||||
|
// cfg.CreateMap<Comment, CommentsWrapper>().ForMember(r => r.TenantId, opt => opt.MapFrom(r => GetCurrentTenant())).ForMember(r => r.LastModifiedOn, opt => opt.Ignore());
|
||||||
|
//});
|
||||||
|
//configuration.AssertConfigurationIsValid();
|
||||||
|
//Mapper = configuration.CreateMapper();
|
||||||
|
}
|
||||||
|
|
||||||
|
//private int GetCurrentTenant()
|
||||||
|
//{
|
||||||
|
// return CoreContext.TenantManager.GetCurrentTenant().TenantId;
|
||||||
|
//}
|
||||||
|
//public override void Shutdown()
|
||||||
|
//{
|
||||||
|
// NotifyClient.UnregisterSendMethods();
|
||||||
|
//}
|
||||||
|
|
||||||
|
//public static void RegisterSendMethods()
|
||||||
|
//{
|
||||||
|
// NotifyClient.RegisterSendMethods();
|
||||||
|
//}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,54 @@
|
|||||||
|
/*
|
||||||
|
*
|
||||||
|
* (c) Copyright Ascensio System Limited 2010-2018
|
||||||
|
*
|
||||||
|
* This program is freeware. You can redistribute it and/or modify it under the terms of the GNU
|
||||||
|
* General Public License (GPL) version 3 as published by the Free Software Foundation (https://www.gnu.org/copyleft/gpl.html).
|
||||||
|
* In accordance with Section 7(a) of the GNU GPL its Section 15 shall be amended to the effect that
|
||||||
|
* Ascensio System SIA expressly excludes the warranty of non-infringement of any third-party rights.
|
||||||
|
*
|
||||||
|
* THIS PROGRAM IS DISTRIBUTED WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY OR
|
||||||
|
* FITNESS FOR A PARTICULAR PURPOSE. For more details, see GNU GPL at https://www.gnu.org/copyleft/gpl.html
|
||||||
|
*
|
||||||
|
* You can contact Ascensio System SIA by email at sales@onlyoffice.com
|
||||||
|
*
|
||||||
|
* The interactive user interfaces in modified source and object code versions of ONLYOFFICE must display
|
||||||
|
* Appropriate Legal Notices, as required under Section 5 of the GNU GPL version 3.
|
||||||
|
*
|
||||||
|
* Pursuant to Section 7 § 3(b) of the GNU GPL you must retain the original ONLYOFFICE logo which contains
|
||||||
|
* relevant author attributions when distributing the software. If the display of the logo in its graphic
|
||||||
|
* form is not reasonably feasible for technical reasons, you must include the words "Powered by ONLYOFFICE"
|
||||||
|
* in every copy of the program you distribute.
|
||||||
|
* Pursuant to Section 7 § 3(e) we decline to grant you any rights under trademark law for use of our trademarks.
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
using ASC.Api.Core;
|
||||||
|
using ASC.Common;
|
||||||
|
using ASC.Projects.Configuration;
|
||||||
|
using ASC.Web.Api.Routing;
|
||||||
|
|
||||||
|
using Microsoft.AspNetCore.Mvc;
|
||||||
|
|
||||||
|
namespace ASC.Projects.Controllers
|
||||||
|
{
|
||||||
|
[Scope]
|
||||||
|
[DefaultRoute]
|
||||||
|
[ApiController]
|
||||||
|
public class ProjectController : ControllerBase
|
||||||
|
{
|
||||||
|
private ProductEntryPoint ProductEntryPoint { get; }
|
||||||
|
|
||||||
|
public ProjectController(ProductEntryPoint productEntryPoint)
|
||||||
|
{
|
||||||
|
ProductEntryPoint = productEntryPoint;
|
||||||
|
}
|
||||||
|
|
||||||
|
[Read("info")]
|
||||||
|
public Module GetModule()
|
||||||
|
{
|
||||||
|
ProductEntryPoint.Init();
|
||||||
|
return new Module(ProductEntryPoint);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
51
products/ASC.Projects/Server/Program.cs
Normal file
51
products/ASC.Projects/Server/Program.cs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.IO;
|
||||||
|
|
||||||
|
using Autofac.Extensions.DependencyInjection;
|
||||||
|
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
|
||||||
|
namespace ASC.Projects
|
||||||
|
{
|
||||||
|
public class Program
|
||||||
|
{
|
||||||
|
public static void Main(string[] args)
|
||||||
|
{
|
||||||
|
CreateHostBuilder(args).Build().Run();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static IHostBuilder CreateHostBuilder(string[] args) =>
|
||||||
|
Host.CreateDefaultBuilder(args)
|
||||||
|
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
|
||||||
|
.ConfigureWebHostDefaults(webBuilder =>
|
||||||
|
{
|
||||||
|
webBuilder.UseStartup<Startup>();
|
||||||
|
})
|
||||||
|
.ConfigureAppConfiguration((hostingContext, config) =>
|
||||||
|
{
|
||||||
|
var buided = config.Build();
|
||||||
|
var path = buided["pathToConf"];
|
||||||
|
if (!Path.IsPathRooted(path))
|
||||||
|
{
|
||||||
|
path = Path.GetFullPath(Path.Combine(hostingContext.HostingEnvironment.ContentRootPath, path));
|
||||||
|
}
|
||||||
|
|
||||||
|
config.SetBasePath(path);
|
||||||
|
config
|
||||||
|
.AddJsonFile("appsettings.json")
|
||||||
|
.AddJsonFile($"appsettings.{hostingContext.HostingEnvironment.EnvironmentName}.json", true)
|
||||||
|
.AddJsonFile("storage.json")
|
||||||
|
.AddJsonFile("kafka.json")
|
||||||
|
.AddJsonFile($"kafka.{hostingContext.HostingEnvironment.EnvironmentName}.json", true)
|
||||||
|
.AddEnvironmentVariables()
|
||||||
|
.AddCommandLine(args)
|
||||||
|
.AddInMemoryCollection(new Dictionary<string, string>
|
||||||
|
{
|
||||||
|
{"pathToConf", path}
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
31
products/ASC.Projects/Server/Properties/launchSettings.json
Normal file
31
products/ASC.Projects/Server/Properties/launchSettings.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"iisSettings": {
|
||||||
|
"windowsAuthentication": false,
|
||||||
|
"anonymousAuthentication": true,
|
||||||
|
"iisExpress": {
|
||||||
|
"applicationUrl": "http://localhost:5020",
|
||||||
|
"sslPort": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"profiles": {
|
||||||
|
"IIS Express": {
|
||||||
|
"commandName": "IISExpress",
|
||||||
|
"environmentVariables": {
|
||||||
|
"$STORAGE_ROOT": "../../../Data",
|
||||||
|
"log__dir": "../../../Logs",
|
||||||
|
"log__name": "projects",
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ASC.Project": {
|
||||||
|
"commandName": "Project",
|
||||||
|
"environmentVariables": {
|
||||||
|
"$STORAGE_ROOT": "../../../Data",
|
||||||
|
"log__dir": "../../../Logs",
|
||||||
|
"log__name": "projects",
|
||||||
|
"ASPNETCORE_ENVIRONMENT": "Development"
|
||||||
|
},
|
||||||
|
"applicationUrl": "http://localhost:5020"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
117
products/ASC.Projects/Server/Resources/ProjectsCommonResource.Designer.cs
generated
Normal file
117
products/ASC.Projects/Server/Resources/ProjectsCommonResource.Designer.cs
generated
Normal file
@ -0,0 +1,117 @@
|
|||||||
|
//------------------------------------------------------------------------------
|
||||||
|
// <auto-generated>
|
||||||
|
// This code was generated by a tool.
|
||||||
|
// Runtime Version:4.0.30319.42000
|
||||||
|
//
|
||||||
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
|
// the code is regenerated.
|
||||||
|
// </auto-generated>
|
||||||
|
//------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
namespace ASC.Projects.Resources {
|
||||||
|
using System;
|
||||||
|
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// A strongly-typed resource class, for looking up localized strings, etc.
|
||||||
|
/// </summary>
|
||||||
|
// This class was auto-generated by the StronglyTypedResourceBuilder
|
||||||
|
// class via a tool like ResGen or Visual Studio.
|
||||||
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
|
// with the /str option, or rebuild your VS project.
|
||||||
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
|
||||||
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
|
internal class ProjectsCommonResource {
|
||||||
|
|
||||||
|
private static global::System.Resources.ResourceManager resourceMan;
|
||||||
|
|
||||||
|
private static global::System.Globalization.CultureInfo resourceCulture;
|
||||||
|
|
||||||
|
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
|
||||||
|
internal ProjectsCommonResource() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Returns the cached ResourceManager instance used by this class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Resources.ResourceManager ResourceManager {
|
||||||
|
get {
|
||||||
|
if (object.ReferenceEquals(resourceMan, null)) {
|
||||||
|
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ASC.Projects.Resources.ProjectsCommonResource", typeof(ProjectsCommonResource).Assembly);
|
||||||
|
resourceMan = temp;
|
||||||
|
}
|
||||||
|
return resourceMan;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Overrides the current thread's CurrentUICulture property for all
|
||||||
|
/// resource lookups using this strongly typed resource class.
|
||||||
|
/// </summary>
|
||||||
|
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
|
||||||
|
internal static global::System.Globalization.CultureInfo Culture {
|
||||||
|
get {
|
||||||
|
return resourceCulture;
|
||||||
|
}
|
||||||
|
set {
|
||||||
|
resourceCulture = value;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Do the same as project manager|Appoint project manager|Create and edit, delete any project|Create/edit templates.
|
||||||
|
/// </summary>
|
||||||
|
internal static string ProductAdminOpportunities {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ProductAdminOpportunities", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Build teams and assign tasks. Schedule project milestones, track project activity and generate reports..
|
||||||
|
/// </summary>
|
||||||
|
internal static string ProductDescription {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ProductDescription", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Build teams and assign tasks. Schedule project milestones, track project activity and generate reports..
|
||||||
|
/// </summary>
|
||||||
|
internal static string ProductDescriptionEx {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ProductDescriptionEx", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Build teams and assign tasks. Schedule project milestones, track project activity and generate reports..
|
||||||
|
/// </summary>
|
||||||
|
internal static string ProductDescriptionShort {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ProductDescriptionShort", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to Projects.
|
||||||
|
/// </summary>
|
||||||
|
internal static string ProductName {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ProductName", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Looks up a localized string similar to View projects and take part in discussions|Create and edit milestones, tasks, discussions, documents|Track time for tasks, generate reports|Form a project team and set access rights.
|
||||||
|
/// </summary>
|
||||||
|
internal static string ProductUserOpportunities {
|
||||||
|
get {
|
||||||
|
return ResourceManager.GetString("ProductUserOpportunities", resourceCulture);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="ProductAdminOpportunities" xml:space="preserve">
|
||||||
|
<value>dieselben Operationen wie Projektleiter ausführen|Projektleiter ernennen|Projekte erstellen und bearbeiten, löschen|Vorlagen erstellen/bearbeiten</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescription" xml:space="preserve">
|
||||||
|
<value>Bilden Sie Teams und verteilen Sie Aufgaben. Planen Sie die Meilensteine Ihrer Projekte, verfolgen Sie die Aktivität und generieren Sie Berichte.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionEx" xml:space="preserve">
|
||||||
|
<value>Bilden Sie Teams und weisen Sie Aufgaben zu. Planen Sie die Meilensteine des Projekts, verfolgen Sie die Aktivität innerhalb des Projekts und erstellen Sie Berichte.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionShort" xml:space="preserve">
|
||||||
|
<value>Bilden Sie Teams und verteilen Sie Aufgaben. Planen Sie die Meilensteine Ihrer Projekte, verfolgen Sie die Aktivität und generieren Sie Berichte.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductName" xml:space="preserve">
|
||||||
|
<value>Projekte</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductUserOpportunities" xml:space="preserve">
|
||||||
|
<value>Projekte durchsehen und an Diskussionen teilnehmen|Meilensteine, Aufgaben, Diskussionen, Dokumente erstellen und bearbeiten|Für Aufgaben aufgewandte Zeit verfolgen und Berichte erstellen|Projektteam bilden und Zugriffsrechte bestimmen</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="ProductAdminOpportunities" xml:space="preserve">
|
||||||
|
<value>Hacer los mismo que el gerente del proyecto|Nombrar el gerente del proyecto|Crear, editar y eliminar cualquier proyecto|Crear/editar plantillas</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescription" xml:space="preserve">
|
||||||
|
<value>Cree equipos y asigne tareas. Programe los hitos del proyecto, siga la actividad del proyecto y genere informes.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionEx" xml:space="preserve">
|
||||||
|
<value>Cree equipos y asigne tareas. Programe los hitos del proyecto, siga de la actividad de proyecto y genere informes.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionShort" xml:space="preserve">
|
||||||
|
<value>Cree equipos y asigne tareas. Programe los hitos del proyecto, siga la actividad del proyecto y genere informes.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductName" xml:space="preserve">
|
||||||
|
<value>Proyectos</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductUserOpportunities" xml:space="preserve">
|
||||||
|
<value>Ver proyectos y tomar parte en discusiones|Crear y editar hitos, tareas, debates, documentos|Controlar el tiempo para tareas, generar informes|Formar el equipo del proyecto y establecer los derechos de acceso</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="ProductAdminOpportunities" xml:space="preserve">
|
||||||
|
<value>Faire la même chose que le chef de projet|Nommer le chef de projet|Créer et modifier, supprimer des projets|Créer/modifier des modèles</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescription" xml:space="preserve">
|
||||||
|
<value>Constituez les équipes et assignez les tâches. Planifiez les jalons de projets, suivez l'activité à travers les projets et générez les rapports.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionEx" xml:space="preserve">
|
||||||
|
<value>Constituez les équipes, assignez les tâches. Planifiez les jalons des projets, suivez l'activité à travers les projets, générez les rapports.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionShort" xml:space="preserve">
|
||||||
|
<value>Constituez les équipes et assignez les tâches. Planifiez les jalons de projets, suivez l'activité à travers les projets et générez les rapports.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductName" xml:space="preserve">
|
||||||
|
<value>Projets</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductUserOpportunities" xml:space="preserve">
|
||||||
|
<value>Voir des projets et participer aux discussions|Créer et modifier des jalons, des tâches, des discussions, des documents|Suivre le temps des tâches, générer des rapports|Former l'équipe de projet et définir les droits d'accès</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="ProductAdminOpportunities" xml:space="preserve">
|
||||||
|
<value>Effettuare le stesse attività che un responsabile progetto|Nominare responsabile progetto|Creare e modificare, eliminare qualsiasi progetto|Creare/modificare modelli</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescription" xml:space="preserve">
|
||||||
|
<value>Crea il tuo team ed assegna le attività. Pianifica le milestone, segui tutte le attività e genera i rapporti.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionEx" xml:space="preserve">
|
||||||
|
<value>Crea il tuo team ed assegna le attività. Pianifica le milestone, segui tutte le attività e genera i rapporti.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionShort" xml:space="preserve">
|
||||||
|
<value>Crea il tuo team ed assegna le attività. Pianifica le milestone, segui tutte le attività e genera i rapporti.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductName" xml:space="preserve">
|
||||||
|
<value>Progetti</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductUserOpportunities" xml:space="preserve">
|
||||||
|
<value>Visualizzare progetti e partecipare alle discussioni|Creare e modificare milestone, attività, discussioni, documenti|Tenere traccia del tempo spento, generare rapporti|Creare team di progetto ed impostare i diritti di accesso</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="ProductAdminOpportunities" xml:space="preserve">
|
||||||
|
<value>Do the same as project manager|Appoint project manager|Create and edit, delete any project|Create/edit templates</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescription" xml:space="preserve">
|
||||||
|
<value>Build teams and assign tasks. Schedule project milestones, track project activity and generate reports.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionEx" xml:space="preserve">
|
||||||
|
<value>Build teams and assign tasks. Schedule project milestones, track project activity and generate reports.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionShort" xml:space="preserve">
|
||||||
|
<value>Build teams and assign tasks. Schedule project milestones, track project activity and generate reports.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductName" xml:space="preserve">
|
||||||
|
<value>Projects</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductUserOpportunities" xml:space="preserve">
|
||||||
|
<value>View projects and take part in discussions|Create and edit milestones, tasks, discussions, documents|Track time for tasks, generate reports|Form a project team and set access rights</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
@ -0,0 +1,79 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
|
||||||
|
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
|
||||||
|
<xsd:element name="root" msdata:IsDataSet="true">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:choice maxOccurs="unbounded">
|
||||||
|
<xsd:element name="metadata">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" use="required" type="xsd:string" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="assembly">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:attribute name="alias" type="xsd:string" />
|
||||||
|
<xsd:attribute name="name" type="xsd:string" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="data">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
|
||||||
|
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
|
||||||
|
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
|
||||||
|
<xsd:attribute ref="xml:space" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
<xsd:element name="resheader">
|
||||||
|
<xsd:complexType>
|
||||||
|
<xsd:sequence>
|
||||||
|
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
|
||||||
|
</xsd:sequence>
|
||||||
|
<xsd:attribute name="name" type="xsd:string" use="required" />
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:choice>
|
||||||
|
</xsd:complexType>
|
||||||
|
</xsd:element>
|
||||||
|
</xsd:schema>
|
||||||
|
<resheader name="resmimetype">
|
||||||
|
<value>text/microsoft-resx</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="version">
|
||||||
|
<value>2.0</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="reader">
|
||||||
|
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<resheader name="writer">
|
||||||
|
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||||
|
</resheader>
|
||||||
|
<data name="ProductAdminOpportunities" xml:space="preserve">
|
||||||
|
<value>Делать то же самое, что и менеджер проекта|Назначать менеджера проекта|Создавать и редактировать, удалять любой проект|Создавать/редактировать шаблоны</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescription" xml:space="preserve">
|
||||||
|
<value>Формируйте команды и ставьте задачи. Планируйте вехи проектов, отслеживайте активность в рамках проекта и генерируйте отчеты.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionEx" xml:space="preserve">
|
||||||
|
<value>Формируйте команды и ставьте задачи. Планируйте вехи проектов, отслеживайте активность в рамках проекта и генерируйте отчеты.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductDescriptionShort" xml:space="preserve">
|
||||||
|
<value>Формируйте команды и ставьте задачи. Планируйте вехи проектов, отслеживайте активность в рамках проекта и генерируйте отчеты.</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductName" xml:space="preserve">
|
||||||
|
<value>Проекты</value>
|
||||||
|
</data>
|
||||||
|
<data name="ProductUserOpportunities" xml:space="preserve">
|
||||||
|
<value>Просматривать проекты и участвовать в обсуждениях|Создавать и редактировать вехи, задачи, обсуждения, документы|Учитывать время выполнения задач, генерировать отчеты|Формировать команду проекта и устанавливать права доступа</value>
|
||||||
|
</data>
|
||||||
|
</root>
|
44
products/ASC.Projects/Server/Startup.cs
Normal file
44
products/ASC.Projects/Server/Startup.cs
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
|
using ASC.Api.Core;
|
||||||
|
|
||||||
|
using Microsoft.AspNetCore.Builder;
|
||||||
|
using Microsoft.AspNetCore.Hosting;
|
||||||
|
using Microsoft.Extensions.Configuration;
|
||||||
|
using Microsoft.Extensions.DependencyInjection;
|
||||||
|
using Microsoft.Extensions.Hosting;
|
||||||
|
|
||||||
|
namespace ASC.Projects
|
||||||
|
{
|
||||||
|
public class Startup : BaseStartup
|
||||||
|
{
|
||||||
|
public override string[] LogParams { get => new string[] { "ASC.Files" }; }
|
||||||
|
|
||||||
|
public Startup(IConfiguration configuration, IHostEnvironment hostEnvironment)
|
||||||
|
: base(configuration, hostEnvironment)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void ConfigureServices(IServiceCollection services)
|
||||||
|
{
|
||||||
|
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
|
||||||
|
|
||||||
|
services.AddMemoryCache();
|
||||||
|
|
||||||
|
base.ConfigureServices(services);
|
||||||
|
}
|
||||||
|
|
||||||
|
public override void Configure(IApplicationBuilder app, IWebHostEnvironment env)
|
||||||
|
{
|
||||||
|
app.UseCors(builder =>
|
||||||
|
builder
|
||||||
|
.AllowAnyOrigin()
|
||||||
|
.AllowAnyHeader()
|
||||||
|
.AllowAnyMethod());
|
||||||
|
|
||||||
|
base.Configure(app, env);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
3
products/ASC.Projects/Server/appsettings.json
Normal file
3
products/ASC.Projects/Server/appsettings.json
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
"pathToConf": "..\\..\\..\\config"
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user