Calendar: core: fix
This commit is contained in:
parent
5060e81b5f
commit
2e2bcfa35e
@ -33,9 +33,11 @@ using ASC.Core.Users;
|
||||
using ASC.Api.Core;
|
||||
using ASC.Web.Core.Users;
|
||||
using ASC.Common.Utils;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace ASC.Calendar.ExternalCalendars
|
||||
{
|
||||
[DataContract(Name = "birthdayCalendar", Namespace = "")]
|
||||
public sealed class BirthdayReminderCalendar : BaseCalendar
|
||||
{
|
||||
public readonly static string CalendarId = "users_birthdays";
|
||||
|
@ -31,10 +31,11 @@ using ASC.Calendar.BusinessObjects;
|
||||
using ASC.Core;
|
||||
using ASC.Common.Utils;
|
||||
using ASC.Web.Core.Calendars;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace ASC.Calendar.ExternalCalendars
|
||||
{
|
||||
|
||||
[DataContract(Name = "sharedEventsCalendar", Namespace = "")]
|
||||
public sealed class SharedEventsCalendar : BaseCalendar
|
||||
{
|
||||
public static string CalendarId { get { return "shared_events"; } }
|
||||
|
@ -37,6 +37,7 @@ using ASC.Common.Security;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using ASC.Common;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace ASC.Calendar.Models
|
||||
{
|
||||
@ -45,6 +46,8 @@ namespace ASC.Calendar.Models
|
||||
{
|
||||
internal UserViewSettings _userViewSettings;
|
||||
internal Guid _userId;
|
||||
|
||||
[System.Text.Json.Serialization.JsonIgnore]
|
||||
public BaseCalendar UserCalendar { get; set; }
|
||||
|
||||
[DataMember(Name = "isSubscription", Order = 80)]
|
||||
@ -100,7 +103,7 @@ namespace ASC.Calendar.Models
|
||||
[DataMember(Name = "todos", Order = 160)]
|
||||
public List<TodoWrapper> Todos { get; set; }
|
||||
|
||||
[DataMember(Name = "defaultAlert", Order = 160)]
|
||||
[JsonPropertyName("defaultAlert")]
|
||||
public EventAlertWrapper DefaultAlertType { get; set; }
|
||||
|
||||
[DataMember(Name = "timeZone", Order = 160)]
|
||||
|
@ -27,6 +27,8 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Runtime.Serialization;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
using ASC.Calendar.BusinessObjects;
|
||||
using ASC.Calendar.iCalParser;
|
||||
using ASC.Common;
|
||||
@ -59,7 +61,7 @@ namespace ASC.Calendar.Models
|
||||
[DataMember(Name = "ics", Order = 60)]
|
||||
public string Ics { get; set; }
|
||||
|
||||
[DataMember(Name = "timeZone", Order = 70)]
|
||||
[JsonPropertyName("timeZone")]
|
||||
public TimeZoneWrapper TimeZoneInfo { get; set; }
|
||||
|
||||
[DataMember(Name = "calendarName", Order = 80)]
|
||||
|
@ -37,6 +37,7 @@ using ASC.Web.Core.Users;
|
||||
using ASC.Common;
|
||||
using ASC.Calendar.iCalParser;
|
||||
using ASC.Calendar.BusinessObjects;
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace ASC.Calendar.Models
|
||||
{
|
||||
@ -56,7 +57,7 @@ namespace ASC.Calendar.Models
|
||||
[DataMember(Name = "canEdit", Order = 40)]
|
||||
public bool CanEdit { get; set; }
|
||||
|
||||
[DataMember(Name = "selectedAction", Order = 50)]
|
||||
[JsonPropertyName("selectedAction")]
|
||||
public AccessOption SharingOption { get; set; }
|
||||
|
||||
public static PublicItemWrapper GetSample()
|
||||
@ -191,113 +192,4 @@ namespace ASC.Calendar.Models
|
||||
|
||||
}
|
||||
}
|
||||
/*
|
||||
[DataContract(Name ="publicItem")]
|
||||
public class PublicItemWrapper : ASC.Web.Core.Calendars.SharingOptions.PublicItem
|
||||
{
|
||||
private Guid _owner;
|
||||
private string _calendarId;
|
||||
private string _eventId;
|
||||
private bool _isCalendar;
|
||||
|
||||
|
||||
public PublicItemWrapper( ASC.Web.Core.Calendars.SharingOptions.PublicItem publicItem, string calendartId, Guid owner)
|
||||
{
|
||||
base.Id = publicItem.Id;
|
||||
base.IsGroup = publicItem.IsGroup;
|
||||
|
||||
_owner = owner;
|
||||
_calendarId = calendartId;
|
||||
_isCalendar = true;
|
||||
}
|
||||
|
||||
public PublicItemWrapper(ASC.Web.Core.Calendars.SharingOptions.PublicItem publicItem, string calendarId, string eventId, Guid owner)
|
||||
{
|
||||
base.Id = publicItem.Id;
|
||||
base.IsGroup = publicItem.IsGroup;
|
||||
|
||||
_owner = owner;
|
||||
_calendarId = calendarId;
|
||||
_eventId = eventId;
|
||||
_isCalendar = false;
|
||||
}
|
||||
|
||||
[DataMember(Name = "id", Order = 10)]
|
||||
public string ItemId
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.Id.ToString();
|
||||
}
|
||||
set{}
|
||||
}
|
||||
|
||||
[DataMember(Name = "name", Order = 20)]
|
||||
public string ItemName
|
||||
{
|
||||
get
|
||||
{
|
||||
if(this.IsGroup)
|
||||
return CoreContext.UserManager.GetGroupInfo(base.Id).Name;
|
||||
else
|
||||
return CoreContext.UserManager.GetUsers(base.Id).DisplayUserName();
|
||||
}
|
||||
set{}
|
||||
}
|
||||
|
||||
[DataMember(Name = "isGroup", Order = 30)]
|
||||
public new bool IsGroup
|
||||
{
|
||||
get
|
||||
{
|
||||
return base.IsGroup;
|
||||
}
|
||||
set { }
|
||||
}
|
||||
|
||||
[DataMember(Name = "canEdit", Order = 40)]
|
||||
public bool CanEdit
|
||||
{
|
||||
get
|
||||
{
|
||||
return !base.Id.Equals(_owner);
|
||||
}
|
||||
set { }
|
||||
}
|
||||
|
||||
[DataMember(Name = "selectedAction", Order = 50)]
|
||||
public AccessOption SharingOption
|
||||
{
|
||||
get {
|
||||
if (base.Id.Equals(_owner))
|
||||
{
|
||||
return AccessOption.OwnerOption;
|
||||
}
|
||||
var subject = IsGroup ? (ISubject)CoreContext.UserManager.GetGroupInfo(base.Id) : (ISubject)CoreContext.Authentication.GetAccountByID(base.Id);
|
||||
int calId;
|
||||
if (_isCalendar && int.TryParse(_calendarId,out calId))
|
||||
{
|
||||
var obj = new ASC.Calendar.BusinessObjects.Calendar() { Id = _calendarId };
|
||||
if (SecurityContext.PermissionResolver.Check(subject, obj, null, CalendarAccessRights.FullAccessAction))
|
||||
return AccessOption.FullAccessOption;
|
||||
}
|
||||
else if(!_isCalendar)
|
||||
{
|
||||
var obj = new ASC.Calendar.BusinessObjects.Event() { Id = _eventId, CalendarId = _calendarId};
|
||||
if (SecurityContext.PermissionResolver.Check(subject, obj, null, CalendarAccessRights.FullAccessAction))
|
||||
return AccessOption.FullAccessOption;
|
||||
}
|
||||
|
||||
return AccessOption.ReadOption;
|
||||
}
|
||||
set { }
|
||||
}
|
||||
|
||||
public static object GetSample()
|
||||
{
|
||||
return new { selectedAction = AccessOption.GetSample(), canEdit = true, isGroup = true,
|
||||
name = "Everyone", id = "2fdfe577-3c26-4736-9df9-b5a683bb8520" };
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
@ -76,59 +76,4 @@ namespace ASC.Calendar.Models
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
[DataContract(Name = "timeZone", Namespace = "")]
|
||||
public class TimeZoneWrapper
|
||||
{
|
||||
private TimeZoneInfo _timeZone;
|
||||
private TimeZoneConverter TimeZoneConverter;
|
||||
public TimeZoneWrapper(TimeZoneInfo timeZone, TimeZoneConverter timeZoneConverter)
|
||||
{
|
||||
_timeZone = timeZone;
|
||||
TimeZoneConverter = timeZoneConverter;
|
||||
}
|
||||
|
||||
[DataMember(Name = "name", Order = 0)]
|
||||
public string Name
|
||||
{
|
||||
get
|
||||
{
|
||||
return TimeZoneConverter.GetTimeZoneName(_timeZone);
|
||||
}
|
||||
set { }
|
||||
}
|
||||
|
||||
[DataMember(Name = "id", Order = 0)]
|
||||
public string Id
|
||||
{
|
||||
get
|
||||
{
|
||||
return _timeZone.Id;
|
||||
}
|
||||
set { }
|
||||
}
|
||||
|
||||
[DataMember(Name = "offset", Order = 0)]
|
||||
public int Offset
|
||||
{
|
||||
get
|
||||
{
|
||||
return (int)_timeZone.GetOffset().TotalMinutes;
|
||||
}
|
||||
set { }
|
||||
}
|
||||
|
||||
public static TimeZoneWrapper GetSample()
|
||||
{
|
||||
return new TimeZoneWrapper { Offset = 0, Id = "UTC", Name = "UTC" };
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user