Petycje (petitions)¶
Założenia¶
Komponent zapewnia mechanizm petycji, a także gromadzenia pod nimi podpisów, co stanowi podstawowy cel funkcjonowania projektu. Każda petycja ma określoną kampanie (zob. Menu (menu) ).
Mechanizm petycji jest szeroko konfigurowalny zapewniając możliwość ukrycia każdego z pól formularzy, co umożliwia uwzględnienie specyfiki kampanii.
Ponadto jest przewidziana funkcjonalność pól zgód. W celu ich skorzystania należy pierw zdefiniować definicję zgody dla danej petycji. Można przy tym określić czy zgoda będzie wymagana, czy opcjonalna, a także wzajemną kolejność zgód w formularzu. Zapewnia to szerokie możliwości uzyskania zgód zgodnie z różnorodnymi potrzebami i wymogami prawa.
Zgromadzone podpisy możliwe są do wyeksportowania w szeregu formatach. Eksport obejmuje także informacje o udzielonych zgodach.
Architektura¶
Model¶
-
class
petycja_norweskie.petitions.models.
Permission
(id, definition, signature, value)[źródło]¶ Parametry: - id (AutoField) – Id
- definition_id (ForeignKey to
petycja_norweskie.petitions.models.PermissionDefinition
) – Definicja zgody - signature_id (ForeignKey to
petycja_norweskie.petitions.models.Signature
) – Podpis - value (BooleanField) – Wartość
-
class
petycja_norweskie.petitions.models.
PermissionDefinition
(id, petition, text, default, required, ordering)[źródło]¶ Parametry: - id (AutoField) – Id
- petition_id (ForeignKey to
petycja_norweskie.petitions.models.Petition
) – Petycja - text (TextField) – Text
- default (BooleanField) – Czy domyślnie zaznaczone?
- required (BooleanField) – Czy wymagane?
- ordering (PositiveSmallIntegerField) – Określ kolejność
-
class
petycja_norweskie.petitions.models.
Petition
(id, created, modified, campaign, name, slug, title, text, overview, finish_message, ask_first_name, ask_second_name, ask_organization, ask_city, ask_email, first_name_label, second_name_label, organization_label, city_label, email_label, sign_button_text, paginate_by, is_published, is_active, front, disabled_warning, disabled_message)[źródło]¶ Parametry: - id (AutoField) – Id
- created (AutoCreatedField) – Utworzony
- modified (AutoLastModifiedField) – Zmodyfikowany
- campaign_id (ForeignKey to
petycja_norweskie.campaigns.models.Campaign
) – Kampania - name (CharField) – Nazwa
- slug (CharField) – Zmodyfikuj, aby zmienić adres petycji
- title (CharField) – Tytuł
- text (TextField) – Treść
- overview (TextField) – Zwarte omówienie przedmiotu petycji zachęcające do podpisania petycji.
- finish_message (TextField) – Wiadomość pokazywana po podpisach
- ask_first_name (BooleanField) – Zapytaj o imię
- ask_second_name (BooleanField) – Zapytaj o nazwisko
- ask_organization (BooleanField) – Zapytaj o organizacje
- ask_city (BooleanField) – Zapytaj o miasto
- ask_email (BooleanField) – Zapytaj o e-mail
- first_name_label (CharField) – Etykieta pola imienia
- second_name_label (CharField) – Etykieta pola nazwiska
- organization_label (CharField) – Etykieta pola nazwy organizacji
- city_label (CharField) – Etykieta pola miejscowości
- email_label (CharField) – Etykieta pola adresu e-mail
- sign_button_text (CharField) – Etykieta przycisku zgłoszeniowego
- paginate_by (SmallIntegerField) – Określa liczbę podpisów na jednej podstronie z listą podpisów
- is_published (BooleanField) – Opublikowane na stronie?
- is_active (BooleanField) – Otwarte na nowe podpisy?
- front (BooleanField) – Tutaj powinna być jedna dostępna strona
- disabled_warning (TextField) – Wiadomość, gdy ktoś próbuje wprowadzić podpis, pomimo wyłączenia formularza.
- disabled_message (TextField) – Wiadomość zamieszczona na stronie, jeśli możliwość składania podpisów została wyłączona.
-
class
petycja_norweskie.petitions.models.
Signature
(id, created, modified, petition, first_name, second_name, organization, city, email, counter)[źródło]¶ Parametry: - id (AutoField) – Id
- created (AutoCreatedField) – Utworzony
- modified (AutoLastModifiedField) – Zmodyfikowany
- petition_id (ForeignKey to
petycja_norweskie.petitions.models.Petition
) – Petycja - first_name (CharField) – Imię
- second_name (CharField) – Nazwisko
- organization (CharField) – Organizacja
- city (CharField) – Miejscowość
- email (EmailField) – Adres e-mail
- counter (SmallIntegerField) – Numer