Proca.Supporter (proca v3.4.1)

Supporter is the actor that does actions. Has associated contacts, which contain personal data dediacted to every receiving org.

The PII is contained (and encrypted) in Contact records per each Org (each has it's own encrypted copy). However, Supporter may hold copies of these PII:

  • email - kept if we need to send an email to supporter (we cannot decrypt PII owned by Org)
  • first_name, last_name - if we send an email, it's nice to use names to address a person.

These are not disclosing PII and are always kept:

  • area - the area value given on action creation

There is also the email_status field which is shared by all orgs that share this Supporter data. The email status is used to determine if the email is good to send emails (eg :double_opt_in or nothing if we do not require DOI), or bad to send emails (bounced) - see Enums

The supporter also has a dupe_rank which is 0 if this is the first supporter of the campaign, or more if it is a subsequent signature. The rank is counted for all coalition.

Link to this section Summary

Functions

A naive ranker - not good for ranking existing data! Good for: checking for number of accepted supporters already in the campaign, use before confirm and at storing the accepted action. A race condition is limited (excluded?) because the Proca.Stage.Processing server is single process.

Link to this section Functions

Link to this function

add_contacts(new_supporter, new_contact, action_page, privacy)

Link to this function

all(query, list)

Link to this function

base_decode(encoded)

Link to this function

base_encode(data)

Link to this function

changeset(supporter, attrs)

Link to this function

clear_transient_fields(supporter_change)

Link to this function

decode_ref(changeset, field)

Link to this function

get_by_action_id(action_id)

Link to this function

handle_bounce(map)

A naive ranker - not good for ranking existing data! Good for: checking for number of accepted supporters already in the campaign, use before confirm and at storing the accepted action. A race condition is limited (excluded?) because the Proca.Stage.Processing server is single process.

Link to this function

new_supporter(data, action_page)

Link to this function

privacy_defaults(p)