protected void ButtonSave_Click(object sender, EventArgs e)
 {
     // Save the new subscription settings
     foreach (ListItem item in listSubscriptions.Items)
     {
         if (item.Value.ToLower() == "activist")
         {
             if (item.Selected != _displayedPerson.IsActivist)
             {
                 if (_displayedPerson.IsActivist)
                 {
                     ActivistEvents.TerminateActivistWithLogging(_displayedPerson, EventSource.PirateWeb);
                 }
                 else
                 {
                     int partyOrgId = _displayedPerson.NationalPartyOrg(false);
                     ActivistEvents.CreateActivistWithLogging(_displayedPerson.Geography, _displayedPerson, "Registered on Subscriptionpage in PirateWeb", EventSource.PirateWeb, true, true, partyOrgId);
                 }
             }
         }
         else
         {
             int newsletterFeedId = Convert.ToInt32(item.Value);
             _displayedPerson.SetSubscription(newsletterFeedId, item.Selected);
         }
     }
 }
Ejemplo n.º 2
0
        public override bool Handle(PhoneMessage msg)
        {
            // register new activist
            // check for words: activist <postal code> <e-mail>
            msg.ErrorMessage = "\r\nRequest to register as activist.";
            if (msg.People.Count > 0)
            {
                foreach (BasicPerson bPerson in msg.People.Values)
                {
                    Person person = Person.FromBasic(bPerson);
                    if (person.IsActivist)
                    {
                        if (msg.People.Count == 1)
                        {
                            // Only one and is already activist.
                            msg.ErrorMessage  = "\r\nRequest to register as activist.";
                            msg.ErrorMessage += "\r\nThis person IS already an activist.";
                        }
                    }
                    else if (msg.People.Count == 1)
                    {
                        int partyOrgId = person.NationalPartyOrg(false);
                        ActivistEvents.CreateActivistWithLogging(person.Geography, person, "Registered by SMS", EventSource.SMS, true, true, partyOrgId);
                        msg.ReplyMessage = "Välkommen som aktivist i Piratpartiet!";

                        return(true); // Handled;
                    }
                }
                if (msg.People.Count > 1)
                {
                    msg.ReplyMessage = "Misslyckades utföra åtgärden.";
                    msg.ErrorMessage = "\r\nRequest to renew membership.";
                    msg.ErrorMessage = "\r\nMultiple hits.\r\n\r\nHave replied:" + msg.ReplyMessage;
                }
            }
            else
            {
                // Handle further info in the message
                // check for words: activist <postal code> <e-mail>
            }
            return(false);
        }
Ejemplo n.º 3
0
 public override bool Handle(PhoneMessage msg)
 {
     //TODO: Decide if more than one hit is OK
     if (msg.People.Count > 0)
     {
         foreach (BasicPerson bPerson in msg.People.Values)
         {
             Person person = Person.FromBasic(bPerson);
             if (person.IsActivist)
             {
                 ActivistEvents.TerminateActivistWithLogging(person, EventSource.SMS);
                 return(true);
             }
         }
     }
     msg.ReplyMessage = "Misslyckades utföra åtgärden: Vi kunde inte hitta ditt telefonnummer i vårt register.";
     msg.ErrorMessage = "\r\nRequest to stop being an aktivist.";
     msg.ErrorMessage = "\r\nDid not find the phone number in the database.\r\n\r\nHave replied:" + msg.ReplyMessage;
     return(false);
 }
Ejemplo n.º 4
0
    protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
    {
        //LabelErrEmail.Text = "Denna sida är inte i funktion ännu. Återkom en annan dag...";
        //e.Cancel = true;
        //return;

        switch (e.CurrentStepIndex)
        {
        case 0:
            try
            {
                string email = TextBoxEmail.Text.Trim();
                if (email.StartsWith("#"))
                {
                    string mNumber = email.Substring(1);
                    int    mId     = 0;
                    int.TryParse(mNumber, out mId);
                    Person pers = Person.FromIdentity(mId);
                    if (pers == null)
                    {
                        LabelErrEmail.Text = "Okänt nummer.";
                        e.Cancel           = true;
                        break;
                    }
                    else
                    {
                        email = pers.Email;
                    }
                }
                else
                {
                    Regex reNumber = new Regex("^[0-9]+$");
                    if (!reNumber.IsMatch(email))
                    {
                        if (!Formatting.ValidateEmailFormat(email))
                        {
                            LabelErrEmail.Text = "Felaktigt formaterad mailadress.";
                            e.Cancel           = true;
                            break;
                        }
                    }
                }
                string URL = this.Request.Url.AbsoluteUri;
                URL += "?ticket={0}";
                Person person = Authentication.RequestActivistSignoffProcess(email, URL);
                if (person == null)
                {
                    throw new Exception();
                }
            }
            catch (Exception)
            {
                // Berätta inte ifall adressen tillhör en PP medlem.
                // Det kan missbrukas för att kartlägga medlemskap.
                //LabelErrEmail.Text = "Kunde inte hitta den mailadressen i registret";
                //e.Cancel = true;
            }
            break;

        case 1: break;

        case 2:
            try
            {
                LabelErrCode.Text = "";

                string code      = TextBoxCode.Text.Trim();
                string shortCode = code.Substring(0, 4);
                string persIDStr = code.Substring(4);
                int    persId    = 0;
                int.TryParse(persIDStr, out persId);

                List <Person> persList = People.FromIdentities(new int[] { persId });
                if (persList.Count > 0)
                {
                    Person p = persList[0];
                    Authentication.ValidateRequestActivistSignoffProcess(p, code);


                    if (p.IsActivist)
                    {
                        ActivistEvents.TerminateActivistWithLogging(p, EventSource.SignupPage);
                    }
                }
                else
                {
                    LabelErrCode.Text = "Okänd kod. Begär en ny.";
                    e.Cancel          = true;
                }
            }
            catch (Authentication.VerificationTicketWrongException)
            {
                LabelErrCode.Text = "Okänd kod.";
                e.Cancel          = true;
            }
            catch (Exception ex)
            {
                LabelErrCode.Text = ex.Message;
                e.Cancel          = true;
            }
            break;

        case 3:

        case 4: break;
        }
        Button NextBtn = null;

        if (e.NextStepIndex == (Wizard1.WizardSteps.Count - 1))
        {
            NextBtn = RecursiveFindControl(Wizard1, "FinishButton") as Button;
        }
        else if (e.NextStepIndex > 0)
        {
            NextBtn = RecursiveFindControl(Wizard1, "StepNextButton") as Button;
        }
        else if (e.NextStepIndex == 0)
        {
            NextBtn = RecursiveFindControl(Wizard1, "StartNextButton") as Button;
        }
        if (NextBtn != null)
        {
            Form.DefaultButton = NextBtn.UniqueID;
        }
    }