void PostContent(HookEventArgs e) { Template template = new Template(Assembly.GetExecutingAssembly(), "postevent"); template.Medium = core.Template.Medium; template.SetProse(core.Prose); string formSubmitUri = core.Hyperlink.AppendSid(e.Owner.AccountUriStub, true); template.Parse("U_ACCOUNT", formSubmitUri); template.Parse("S_ACCOUNT", formSubmitUri); int year = core.Functions.RequestInt("year", core.Tz.Now.Year); int month = core.Functions.RequestInt("month", core.Tz.Now.Month); int day = core.Functions.RequestInt("day", core.Tz.Now.Day); DateTimePicker startDateTimePicker = new DateTimePicker(core, "start-date"); startDateTimePicker.ShowTime = true; startDateTimePicker.ShowSeconds = false; DateTimePicker endDateTimePicker = new DateTimePicker(core, "end-date"); endDateTimePicker.ShowTime = true; endDateTimePicker.ShowSeconds = false; UserSelectBox inviteesUserSelectBox = new UserSelectBox(core, "invitees"); /* */ SelectBox timezoneSelectBox = UnixTime.BuildTimeZoneSelectBox("timezone"); DateTime startDate = new DateTime(year, month, day, 8, 0, 0); DateTime endDate = new DateTime(year, month, day, 9, 0, 0); timezoneSelectBox.SelectedKey = core.Tz.TimeZoneCode.ToString(); template.Parse("S_YEAR", year.ToString()); template.Parse("S_MONTH", month.ToString()); template.Parse("S_DAY", day.ToString()); startDateTimePicker.Value = startDate; endDateTimePicker.Value = endDate; template.Parse("S_START_DATE", startDateTimePicker); template.Parse("S_END_DATE", endDateTimePicker); template.Parse("S_TIMEZONE", timezoneSelectBox); template.Parse("S_INVITEES", inviteesUserSelectBox); e.core.AddPostPanel(e.core.Prose.GetString("EVENT"), template); }
void AccountCalendarTaskNew_Show(object sender, EventArgs e) { SetTemplate("account_calendar_task_new"); bool edit = false; if (core.Http.Query["mode"] == "edit") { edit = true; } DateTimePicker dueDateTimePicker = new DateTimePicker(core, "due-date"); dueDateTimePicker.ShowTime = true; dueDateTimePicker.ShowSeconds = false; int year = core.Functions.RequestInt("year", tz.Now.Year); int month = core.Functions.RequestInt("month", tz.Now.Month); int day = core.Functions.RequestInt("day", tz.Now.Day); byte percentComplete = 0; TaskPriority priority = TaskPriority.Normal; DateTime dueDate = new DateTime(year, month, day, 17, 0, 0); string topic = string.Empty; string description = string.Empty; Dictionary<string, string> percentages = new Dictionary<string, string>(); for (int i = 0; i <= 100; i += 25) { percentages.Add(i.ToString(), i.ToString() + "%"); } Dictionary<string, string> priorities = new Dictionary<string, string>(); priorities.Add(((byte)TaskPriority.Low).ToString(), "Low"); priorities.Add(((byte)TaskPriority.Normal).ToString(), "Normal"); priorities.Add(((byte)TaskPriority.High).ToString(), "High"); if (edit) { int id = core.Functions.RequestInt("id", -1); if (id < 1) { DisplayGenericError(); } try { Task calendarTask = new Task(core, Owner, id); template.Parse("EDIT", "TRUE"); template.Parse("ID", calendarTask.TaskId.ToString()); dueDate = calendarTask.GetDueTime(core.Tz); topic = calendarTask.Topic; description = calendarTask.Description; percentComplete = calendarTask.PercentageComplete; priority = calendarTask.Priority; } catch { core.Display.ShowMessage("Invalid", "If you have stumbled onto this page by mistake, click back in your browser."); } } dueDateTimePicker.Value = dueDate; template.Parse("S_YEAR", year.ToString()); template.Parse("S_MONTH", month.ToString()); template.Parse("S_DAY", day.ToString()); template.Parse("S_DUE_DATE", dueDateTimePicker); template.Parse("S_TOPIC", topic); template.Parse("S_DESCRIPTION", description); ParseSelectBox("S_PERCENT_COMPLETE", "percent-complete", percentages, percentComplete.ToString()); ParseSelectBox("S_PRIORITY", "priority", priorities, ((byte)priority).ToString()); Save(new EventHandler(AccountCalendarTaskNew_Save)); }
void AccountCalendarEventNew_Show(object sender, EventArgs e) { SetTemplate("account_calendar_event_new"); DateTimePicker startDateTimePicker = new DateTimePicker(core, "start-date"); startDateTimePicker.ShowTime = true; startDateTimePicker.ShowSeconds = false; DateTimePicker endDateTimePicker = new DateTimePicker(core, "end-date"); endDateTimePicker.ShowTime = true; endDateTimePicker.ShowSeconds = false; UserSelectBox inviteesUserSelectBox = new UserSelectBox(core, "invitees"); /* */ SelectBox timezoneSelectBox = UnixTime.BuildTimeZoneSelectBox("timezone"); bool edit = false; if (core.Http.Query["mode"] == "edit") { edit = true; } int year = core.Functions.RequestInt("year", tz.Now.Year); int month = core.Functions.RequestInt("month", tz.Now.Month); int day = core.Functions.RequestInt("day", tz.Now.Day); string inviteeUsernameList = core.Http.Form["invitees[raw]"]; List<long> inviteeIds = UserSelectBox.FormUsers(core, "invitees"); if (!(string.IsNullOrEmpty(inviteeUsernameList))) { string[] inviteesUsernames = inviteeUsernameList.Split(new char[] { ' ', '\t', ';', ',' }); List<string> uns = new List<string>(inviteesUsernames.Length); foreach (string inviteeUsername in inviteesUsernames) { if (!string.IsNullOrEmpty(inviteeUsername)) { try { uns.Add(inviteeUsername); } catch (InvalidUserException) { } } } inviteeIds.AddRange(core.LoadUserProfiles(uns).Values); } DateTime startDate = new DateTime(year, month, day, 8, 0, 0); DateTime endDate = new DateTime(year, month, day, 9, 0, 0); timezoneSelectBox.SelectedKey = core.Tz.TimeZoneCode.ToString(); string subject = string.Empty; string location = string.Empty; string description = string.Empty; if (edit) { int id = core.Functions.RequestInt("id", -1); if (id < 1) { core.Display.ShowMessage("Invalid", "If you have stumbled onto this page by mistake, click back in your browser."); } try { Event calendarEvent = new Event(core, id); inviteeIds.AddRange(calendarEvent.GetInviteeIds()); template.Parse("EDIT", "TRUE"); template.Parse("ID", calendarEvent.EventId.ToString()); startDate = calendarEvent.GetStartTime(core.Tz); endDate = calendarEvent.GetEndTime(core.Tz); inviteesUserSelectBox.Invitees = calendarEvent.GetInviteeIds(); subject = calendarEvent.Subject; location = calendarEvent.Location; description = calendarEvent.Description; } catch (InvalidEventException) { core.Display.ShowMessage("Invalid", "If you have stumbled onto this page by mistake, click back in your browser."); } } template.Parse("S_YEAR", year.ToString()); template.Parse("S_MONTH", month.ToString()); template.Parse("S_DAY", day.ToString()); startDateTimePicker.Value = startDate; endDateTimePicker.Value = endDate; List<string> permissions = new List<string>(); permissions.Add("Can Read"); //core.Display.ParsePermissionsBox(template, "S_EVENT_PERMS", eventAccess, permissions); template.Parse("S_SUBJECT", subject); template.Parse("S_LOCATION", location); template.Parse("S_DESCRIPTION", description); StringBuilder outputInvitees = null; StringBuilder outputInviteesIds = null; core.LoadUserProfiles(inviteeIds); foreach (long inviteeId in inviteeIds) { if (outputInvitees == null) { outputInvitees = new StringBuilder(); outputInviteesIds = new StringBuilder(); } else { outputInvitees.Append("; "); outputInviteesIds.Append(","); } outputInvitees.Append(core.PrimitiveCache[inviteeId].DisplayName); outputInviteesIds.Append(inviteeId.ToString()); } if (outputInviteesIds != null) { template.Parse("INVITEES_ID_LIST", outputInviteesIds.ToString()); } template.Parse("S_START_DATE", startDateTimePicker); template.Parse("S_END_DATE", endDateTimePicker); template.Parse("S_TIMEZONE", timezoneSelectBox); template.Parse("S_INVITEES", inviteesUserSelectBox); Save(new EventHandler(AccountCalendarEventNew_Save)); }