protected void Page_Load(object sender, EventArgs e) { // No access control on page - this is called from Signup _organization = Organization.FromIdentity(Convert.ToInt32(Request["OrganizationId"])); int geographyId = Convert.ToInt32(Request["GeographyId"]); if (geographyId != 0) { _geography = Geography.FromIdentity(geographyId); } Positions positions = Positions.ForOrganization(_organization).AtLevel(PositionLevel.GeographyDefault); // Format as JSON and return CommonV5.CulturePreInit(Request); // Sets the culture Response.ContentType = "application/json"; string json = FormatAsJson(positions); Response.Output.WriteLine(json); Response.End(); }
protected override void OnPreInit(EventArgs e) { CommonV5.CulturePreInit(Request); base.OnPreInit(e); }
public static AjaxCallResult SignupParticipant(string name, int organizationId, string mail, string password, string phone, string street1, string street2, string postalCode, string city, string countryCode, string dateOfBirth, int geographyId, bool activist, PersonGender gender, int[] positionIdsVolunteer) { CommonV5.CulturePreInit(HttpContext.Current.Request); // Set culture, for date parsing if (geographyId == 0) { geographyId = Geography.RootIdentity; // if geo was undetermined, set it to "Global" } Organization organization = Organization.FromIdentity(organizationId); DateTime parsedDateOfBirth = new DateTime(1800, 1, 1); // Default if unspecified if (dateOfBirth.Length > 0) { parsedDateOfBirth = DateTime.Parse(dateOfBirth); } Person newPerson = Person.Create(name, mail, password, phone, street1 + "\n" + street2.Trim(), postalCode, city, countryCode, parsedDateOfBirth, gender); Participation participation = newPerson.AddParticipation(organization, DateTime.UtcNow.AddYears(1)); // TODO: set duration from organization settings of Participantship // TODO: SEND NOTIFICATIONS // Log the signup SwarmopsLog.CreateEntry(newPerson, new PersonAddedLogEntry(participation, newPerson)); // Create notification OutboundComm.CreateParticipantNotification(newPerson, newPerson, organization, NotificationResource.Participant_Signup); // Add the bells and whistles if (activist) { newPerson.CreateActivist(false, false); } if (positionIdsVolunteer.Length > 0) { Volunteer volunteer = newPerson.CreateVolunteer(); foreach (int positionId in positionIdsVolunteer) { Position position = Position.FromIdentity(positionId); volunteer.AddPosition(position); SwarmopsLog.CreateEntry(newPerson, new VolunteerForPositionLogEntry(newPerson, position)); } } newPerson.LastLogonOrganizationId = organizationId; // Create a welcome message to the Dashboard HttpContext.Current.Response.AppendCookie(new HttpCookie("DashboardMessage", CommonV5.JavascriptEscape(String.Format(Resources.Pages.Public.Signup_DashboardMessage, organization.Name)))); // Set authentication cookie, which will log the new person in using the credentials just given FormsAuthentication.SetAuthCookie(Authority.FromLogin(newPerson).ToEncryptedXml(), true); AjaxCallResult result = new AjaxCallResult { Success = true }; return(result); }