Poradnia Documentation
Transkrypt
Poradnia Documentation
Poradnia Documentation Release 0.1 Adam Dobrawy Mar 07, 2017 Contents 1 Cel oprogramowania 2 Treść 2.1 poradnia . . . . . . . . . . . . . . . . 2.1.1 Settings . . . . . . . . . . . . 2.1.2 Getting up and running . . . . 2.1.3 Deployment . . . . . . . . . . 2.2 advicer - rejestr porad . . . . . . . . . 2.2.1 Model . . . . . . . . . . . . . 2.2.2 Widoki . . . . . . . . . . . . 2.2.3 Formularze . . . . . . . . . . 2.3 Cases - rejestr spraw . . . . . . . . . . 2.3.1 Podstawowy przepływ pracy . 2.3.2 Alternatywny przepływ pracy 2.3.3 Status sprawy . . . . . . . . . 2.3.4 Kod aplikacji . . . . . . . . . 2.4 Events - wydarzenia . . . . . . . . . . 2.4.1 Kod aplikacji . . . . . . . . . 2.5 Feedback_Custom . . . . . . . . . . . 2.5.1 Kod aplikacji . . . . . . . . . 2.6 Keys . . . . . . . . . . . . . . . . . . 2.6.1 Treści o dost˛epie maszynowym 2.6.2 Logowanie . . . . . . . . . . 2.6.3 Kod aplikacji . . . . . . . . . 2.7 Letters . . . . . . . . . . . . . . . . . 2.7.1 Kod aplikacji . . . . . . . . . 2.8 Navsearch . . . . . . . . . . . . . . . 2.8.1 Kod aplikacji . . . . . . . . . 2.9 Notiication_custom . . . . . . . . . . . 2.9.1 Widoki . . . . . . . . . . . . 2.10 Records . . . . . . . . . . . . . . . . . 2.10.1 Kod aplikacji . . . . . . . . . 2.11 Template_mail . . . . . . . . . . . . . 2.11.1 Widoki . . . . . . . . . . . . 2.12 django-tinycontent . . . . . . . . . . . 2.12.1 Zdefiniowane sekcje . . . . . 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10 10 10 10 11 11 12 12 12 12 12 12 12 12 13 13 i 2.13 Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.13.1 Kategoria użytkowników . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.13.2 Kod aplikacji . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 13 14 Indices and tables 15 Python Module Index 17 3 ii CHAPTER 1 Cel oprogramowania Oprogramowanie ma na celu usprawnienie obsługi klientów Pozarzadowego ˛ Centrum Dost˛epu do Informacji Publicznej oraz zwi˛ekszenie efektywności wsparcia ze strony praktykantów i ekspertów zewn˛etrznych. Powstałe narz˛edzie ma również dostarczać dane o charakterze ilościowym na temat zakresu udzielanego wsparcia, uwzgl˛edniajac ˛ drog˛e mailowa, telefoniczna,˛ ustna˛ i szkoleniowa.˛ 1 Poradnia Documentation, Release 0.1 2 Chapter 1. Cel oprogramowania CHAPTER 2 Treść poradnia Settings poradnia relies extensively on environment settings which will not work with Apache/mod_wsgi setups. It has been deployed successfully with both Gunicorn/Nginx and even uWSGI/Nginx. Getting up and running The steps below will get you up and running with a local development environment. We assume you have the following installed First make sure to install all requires OS-level libraries and application (dependencies): $ make install_os Next to create and activate a virtualenv_: $ virtualenv env $ source env/bin/activate .. _virtualenv: http://docs.python-guide.org/en/latest/dev/virtualenvs/ Next to open a terminal at the project root and install the requirements for local development: $ make install_devs Next to create MySQL database: # if you are using Ubuntu 14.04, you may need to find a workaround for the following ˓→two commands $ sudo systemctl start mariadb $ sudo systemctl enable mariadb 3 Poradnia Documentation, Release 0.1 $ mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql $ echo "CREATE DATABASE poradnia CHARACTER SET utf8 COLLATE utf8_polish_ci;" | mysql ˓→u root $ echo "CREATE USER 'user'@'localhost' IDENTIFIED BY 'pass';" | mysql -u root $ echo "GRANT ALL PRIVILEGES ON poradnia . * TO 'user'@'localhost'; FLUSH PRIVILEGES; ˓→" | mysql -u root Next to set up enviroment variables: $ export DATABASE_URL="mysql://user:pass@localhost/poradnia" Next to push migrations into database: $ make migrate You can now run the usual Django runserver command: $ make server To run tests use: $ make test If you like you can use run tests in parallel by use: $ make test_parallel Live reloading and Sass CSS compilation If you’d like to take advantage of live reloading and Sass / Compass CSS compilation you can do so with the included Gulpfile task. Make sure that nodejs_ is installed. Then in the project root run: .. note:: TODO (see issue #207) It’s time to write the code!!! Deployment It is possible to deploy to Heroku or to your own server by using Dokku, an open source Heroku clone. The recomend way is using Virtual Private Server with Ubuntu Server and Nginx. advicer - rejestr porad Aplikacja służy do rejestracji porad udzielonych zarówno w ramach systemu spraw (:doc:/modules/cases.rst), jak również poza jego obiegiem. Przeznaczeniem aplikacji jest gromadzenie danych statystycznych o udzielonych poradach na potrzeby działań crownfundingowcyh, przedstawianie danych grantodawcom, promocji działań itp. Narz˛edzie dostarcza dane o charakterze ilościowym na temat zakresu udzielanego wsparcia, uwzgl˛edniajac ˛ drog˛e mailowa, telefoniczna,˛ ustna˛ i szkoleniowa.˛ 4 Chapter 2. Treść Poradnia Documentation, Release 0.1 Model class advicer.models.Advice(id, case, subject, area, person_kind, institution_kind, advicer, grant_on, created_by, created_on, helped, modified_by, modified_on, visible, comment) Parameters • id (AutoField) – Id • case_id (OneToOneField to cases.models.Case) – Sprawa • subject (CharField) – Przedmiot • area_id (ForeignKey to advicer.models.Area) – Problem z zakresu prawa do informacji • person_kind_id (ForeignKey to advicer.models.PersonKind) – Rodzaj osoby, która si˛e zgłasza o porad˛e • institution_kind_id (ForeignKey to advicer.models.InstitutionKind) – Rodzaj podmiotu zobowiazanego ˛ • advicer_id (ForeignKey to users.models.User) – Osoba, która udzieliła porady • grant_on (DateTimeField) – Udzielona o • created_by_id (ForeignKey to users.models.User) – Utworzona przez • created_on (DateTimeField) – Data utworzenia • helped (NullBooleanField) – Czy pomogliśmy? • modified_by_id (ForeignKey to users.models.User) – Zmodyfikowane przez • modified_on (DateTimeField) – Data modyfikacji • visible (BooleanField) – Widoczne • comment (TextField) – Komentarz class advicer.models.Area(id, name) Parameters • id (AutoField) – Id • name (CharField) – Nazwa class advicer.models.Attachment(id, attachment, advice) Parameters • id (AutoField) – Id • attachment (FileField) – Plik • advice_id (ForeignKey to advicer.models.Advice) – Advice class advicer.models.InstitutionKind(id, name) Parameters • id (AutoField) – Id • name (CharField) – Nazwa class advicer.models.Issue(id, name) Parameters 2.2. advicer - rejestr porad 5 Poradnia Documentation, Release 0.1 • id (AutoField) – Id • name (CharField) – Nazwa class advicer.models.PersonKind(id, name) Parameters • id (AutoField) – Id • name (CharField) – Nazwa Widoki Formularze Cases - rejestr spraw W celu zrozumienia używanych określeń użytkowników zapoznaj si˛e z Users Podstawowy przepływ pracy 1. Wniesienie sprawy za pomoca˛ poczty elektronicznej Klient wypełnia formularz na stronie internetowej. Ma możliwość dołaczyć ˛ załaczniki. ˛ Jeżeli użytkownik nie jest zalogowany - ma możliwość podać adres e-mail. 2. Rejestracja sprawy Sprawa jest rejestrowana w systemie. O jej utworzeniu zostaja˛ powiadomieni administratorzy. Nadany zostaje unikalny numer. 3. Przypisanie sprawy Sekretariat dokonuje wst˛epnego przegladu ˛ sprawy przypisujac ˛ spraw˛e do praktykanta / obserwatora za powiadomieniem wszystkich wewn˛etrznych w sprawie, a także ustala oznacza ewentualny termin. 4. Przygotowanie projektu pisma Wsparcie sporzadza ˛ projekt odpowiedzi w sprawie. O jej nadesłaniu powiadomiony zostaje każdy członek zaangażowany w spraw˛e. 5. Zatwierdzenie pisma Prawnik zatwierdzaja˛ pismo. Ma możliwość przedstawić uwagi do pisma. O akceptacji i uwagach powiadamiany jest każdy z zespołu zaangażowany w spraw˛e. Zatwierdzone pismo jest przesyłane do każdego zaangażowanego. 6. Zamykanie sprawy Prawnik zamyka spraw˛e, co ma charakter jedyny organizacyjny. 6 Chapter 2. Treść Poradnia Documentation, Release 0.1 7. Odpowiedź na dowolna˛ wiadomość Klient ma możliwość w każdej chwili, aby odpowiadzieć na dowolne pismo z systemu. Skutkuje to otwarciem ponownie sprawy, a także powiadomieniem o nowym piśmie osoby, które dotychczas były zaangażowane w sprawe. Alternatywny przepływ pracy Wniesienie sprawy za pomoca˛ poczty elektronicznej Klient ma możliwość wniesienia sprawy z wykorzystaniem dedykowanego adresu e-mail. Aplikacja na podstawie adresu e-mail przypisuje spraw˛e do konta użytkownika-klienta. Klient jest powiadamiany o numer sprawy i przesyłany jest mu link do akt sprawy. Nast˛epnie sprawa kontynuowana jest zgodnie z krokiem 2. Rejestracja sprawy. Wniesienie sprawy anonimowo Klient wypełnia formularz na stronie internetowej. Ma możliwość dołaczyć ˛ załaczniki, ˛ a także obowiazek ˛ podać adres e-mail. Podany adres e-mail to jest on wykorzystywany do utworzenia konta użytkownika. Nazwa użytkownika jest generowana automatycznie na podstawie adresu e-mail. Hasło jest losowe. Dane te sa˛ przesyłane do użytkownika. Nast˛epnie sprawa kontynuowana jest zgodnie z krokiem 2. Rejestracja sprawy. Odrzucenie projektu pisma Jeżeli prawnik nie akceptuje projektu pisma przedstawionego przez wolontariusza ma możliwość napisania uwag, które b˛eda˛ dost˛epne tylko dla członków zespołu. Nast˛epnie sprawa powraca do kroku 4. Przygotowanie projektu pisma. Odpowiedź e-mailowa Na każde nadesłane pismo w sprawie każdy ma możliwość odpowiedzi, a odpowiedź jest rejestrowana w systemie. Odpowiedź - na podstawie adresu e-mail - jest identyfikowana i przypisywana do wolontariusza. Zamkni˛eta sprawa jest otwierana. Nast˛epnie sprawa powraca do kroku 4. Przygotowanie projektu pisma. Status sprawy Każda ma swój status, który może uleca nast˛epujacej ˛ zmianie zgodnie z stanem przedstawionym na wolna przypisanie prawnika usunięcie ostatniego prawnika przypisana zamknięcie sprawy zamknięcie sprawy nowe pismo do wcześniej wolnej sprawy nowe pismo do wcześniej przypisanej sprawy zamknięta 2.3. Cases - rejestr spraw 7 Poradnia Documentation, Release 0.1 Kod aplikacji Widoki Model class cases.models.Case(id, name, status, status_changed, client, letter_count, last_send, last_action, last_received, deadline, created_by, created_on, modified_by, modified_on, handled, has_project) Parameters • id (AutoField) – Numer sprawy • name (CharField) – Przedmiot • status (StatusField) – Status • status_changed (MonitorField) – Status changed • client_id (ForeignKey to users.models.User) – Klient • letter_count (IntegerField) – Liczba listów • last_send (DateTimeField) – Ostatnia odpowiedź • last_action (DateTimeField) – Ostatnia czynność • last_received (DateTimeField) – Ostatnio otrzymano • deadline_id (ForeignKey to events.models.Event) – Termin • created_by_id (ForeignKey to users.models.User) – Utworzona przez • created_on (DateTimeField) – Utworzone o • modified_by_id (ForeignKey to users.models.User) – Zmodyfikowane przez • modified_on (DateTimeField) – Zmodyfikowane o • handled (BooleanField) – Obsłużona • has_project (BooleanField) – Posiada projekt class cases.models.CaseGroupObjectPermission(id, permission, group, content_object) Parameters • id (AutoField) – Id • permission_id (ForeignKey Permission) – Permission to django.contrib.auth.models. • group_id (ForeignKey to django.contrib.auth.models.Group) – Group • content_object_id (ForeignKey to cases.models.Case) – Content object class cases.models.CaseUserObjectPermission(id, permission, user, content_object) Parameters • id (AutoField) – Id • permission_id (ForeignKey Permission) – Permission to django.contrib.auth.models. • user_id (ForeignKey to users.models.User) – User 8 Chapter 2. Treść Poradnia Documentation, Release 0.1 • content_object_id (ForeignKey to cases.models.Case) – Content object class cases.models.PermissionGroup(id, name) Parameters • id (AutoField) – Id • name (CharField) – Nazwa Formularze Events - wydarzenia Kod aplikacji Model class events.models.Alarm(id, case, event) Parameters • id (AutoField) – Id • case_id (ForeignKey to cases.models.Case) – Case • event_id (OneToOneField to events.models.Event) – Event class events.models.Event(id, case, deadline, time, text, created_by, created_on, modified_by, modified_on) Parameters • id (AutoField) – Id • case_id (ForeignKey to cases.models.Case) – Case • deadline (BooleanField) – Termin • time (DateTimeField) – Czas • text (CharField) – Przedmiot • created_by_id (ForeignKey to users.models.User) – Utworzona przez • created_on (DateTimeField) – Utworzone o • modified_by_id (ForeignKey to users.models.User) – Zmodyfikowane przez • modified_on (DateTimeField) – Zmodyfikowane o class events.models.Reminder(id, event, user, triggered) Parameters • id (AutoField) – Id • event_id (OneToOneField to events.models.Event) – Event • user_id (ForeignKey to users.models.User) – User • triggered (BooleanField) – Triggered 2.4. Events - wydarzenia 9 Poradnia Documentation, Release 0.1 Widoki Formularze Feedback_Custom Kod aplikacji Formularze Keys Wdrożony został moduł kluczy dost˛epu. Zapewnia on kontrol˛e dost˛epu do treści przeznaczonych dla konkretnego użytkownika w przypadku dost˛epu maszynowego. Umożliwia on uzyskanie dost˛epu do treści bez ujawniania hasła użytkownika. Moduł rejestruje dane w zakresie: * czasu ostatniego użycia klucza, * czasu pobrania klucza z aplikacji, * etykiety klucza Treści o dostepie ˛ maszynowym Tylko do wybranych treści dost˛ep możliwy jest z wykorzystaniem kluczy dost˛epu. Z strony programistycznej sa˛ to treści wykorzystujace ˛ `keys.mixins.KeyAuthMixin`, co w praktyce oznacza ([szukaj w kodzie](https: //github.com/watchdogpolska/poradnia/search?utf8=%E2%9C%93&q=KeyAuthMixin)): * widok kalendarza w formacie - `/event/ical/`. Logowanie Aby uzyskać treści należy przekazać dane autoryzacyjne przy każdym żadaniu. ˛ Można to zrobić poprzez: * dane HTTPAuth Basic - `//{{username}}}:{{key}}}@example.com/event/ical` * dane GET - `// example.com/event/ical?username={{username}}&key={{key}}` Kod aplikacji Model class keys.models.Key(id, user, password, description, created_on, used_on, download_on) Parameters • id (AutoField) – Id • user_id (ForeignKey to users.models.User) – Użytkownik • password (CharField) – Klucz • description (CharField) – Opis • created_on (DateTimeField) – Utworzone o • used_on (DateTimeField) – Użyty o • download_on (DateTimeField) – Pobrany o 10 Chapter 2. Treść Poradnia Documentation, Release 0.1 Widoki Formularze Letters Kod aplikacji Model class letters.models.Attachment(id, letter, attachment) Parameters • id (AutoField) – Id • letter_id (ForeignKey to letters.models.Letter) – Letter • attachment (FileField) – Plik class letters.models.Letter(id, case, genre, status, status_changed, accept, name, text, signature, created_by, created_on, modified_by, modified_on, message, eml) Parameters • id (AutoField) – Id • case_id (ForeignKey to cases.models.Case) – Case • genre (CharField) – Genre • status (StatusField) – Status • status_changed (MonitorField) – Status changed • accept (MonitorField) – Zaakceptowane o • name (CharField) – Przedmiot • text (TextField) – Treść • signature (TextField) – Podpis • created_by_id (ForeignKey to users.models.User) – Utworzona przez • created_on (DateTimeField) – Utworzone o • modified_by_id (ForeignKey to users.models.User) – Zmodyfikowane przez • modified_on (DateTimeField) – Zmodyfikowane o • message_id (ForeignKey to django_mailbox.models.Message) – Message • eml (FileField) – Oryginalna, pełna treść wiadomości Widoki 2.7. Letters 11 Poradnia Documentation, Release 0.1 Formularze Navsearch Kod aplikacji Model Widoki Notiication_custom Deprecated since version x: Use module template_mail instead. Widoki Records Kod aplikacji Model class records.models.Record(id, case, created_on, letter, event, alarm, content_type, object_id) Parameters • id (AutoField) – Id • case_id (ForeignKey to cases.models.Case) – Case • created_on (DateTimeField) – Created on • letter_id (OneToOneField to letters.models.Letter) – Letter • event_id (OneToOneField to events.models.Event) – Event • alarm_id (OneToOneField to events.models.Alarm) – Alarm • content_type_id (ForeignKey to django.contrib.contenttypes.models. ContentType) – Content type • object_id (PositiveIntegerField) – Object id Template_mail Widoki template_mail.utils.send_mail_with_header(subject, message, from_email, recipient_list, fail_silently=False, auth_user=None, auth_password=None, connection=None, html_message=None, headers=None) Fork of django.core.mail.send_mail to add haders attribute 12 Chapter 2. Treść Poradnia Documentation, Release 0.1 django-tinycontent Aplikacja została wyposażona w moduł sekcji edycyjnych. django-tinycontent. Moduł wykorzystuje dominicrodger/ Zdefiniowane sekcje Istnieja˛ nast˛epujace ˛ zdefiniowane sekcje edycyjne: • ./templates/pages/home.html: – home:start - poczatkowa ˛ cz˛eść strony głównej, która jest dost˛epna dla każdego i wyświetlana każdemu – home:anonymous - cz˛eść strony głównej, która jest wyświetlana dla osoby niezalogowanej – home:user - cz˛eść strony głównej, która jest wyświetlana dla osoby zalogowanej • ./templates/base.html: – footer - stopka strony • ./letters/templates/letters/form_new.html: – letters:new_case_up - opis formularza nowej sprawy • ./utilities/forms.py: – giodo - opis pola wyrażenia zgody na przetwarzanie danych osobowych Users Kategoria użytkowników Zespół (is_staff=True) Osoby, które pełnia˛ rol˛e prawnika, obserwatora, wsparcia lub wsparcia +. Prawnik osoba o pełnym dost˛epie do wszystkich danych zgromadzonych w systemie, Obserwator osoby o dost˛epie do wybranych spraw wyłacznie ˛ na potrzeby jej obserwacji np. na potrzeby samokształcenia zespołu, specjalnego monitoringu, Wsparcie osoba (praktykant, ekspert zewn˛etrzny) o dost˛epie do wybranych spraw na potrzeby realizacji określonych zadań w niej np. przygotowania pisma, ale bez możliwości kierowania sprawy do klienta, Wsparcie+ osoba, która ma wszelkie uprawnienia roli wsparcia, a także możliwościa˛ samozatwierdzenie pisma i skierowanie go do klienta. Osoba zewn˛etrzna (is_staff=False): Klient – osoba o dost˛epie do własnych spraw na potrzeby archiwalne oraz sporzadzania ˛ nowych podań. Przez każdego w sprawie należy rozumieć osob˛e, która jest albo prawnikiem, albo w kontekście danej sprawy obserwatorem, praktykantem, klientem. Patrz ‘Uprawnienia‘_. 2.12. django-tinycontent 13 Poradnia Documentation, Release 0.1 Kod aplikacji Model class users.models.Profile(user, description, www, event_reminder_time) Parameters • user_id (OneToOneField to users.models.User) – User • description (TextField) – Opis • www (URLField) – Strona domowa • event_reminder_time (IntegerField) – Przypominaj o wydarzeniach class users.models.User(id, password, last_login, is_superuser, username, first_name, last_name, email, is_staff, is_active, date_joined, picture, codename, created_on) Parameters • id (AutoField) – Id • password (CharField) – Hasło • last_login (DateTimeField) – Data ostatniego logowania • is_superuser (BooleanField) – Oznacza, że ten użytkownik ma wszystkie uprawnienia bez jawnego ich przypisywania. • username (CharField) – Wymagana. 150 lub mniej znaków. Jedynie litery, cyfry i @/./+/-/_. • first_name (CharField) – Imi˛e • last_name (CharField) – Nazwisko • email (EmailField) – Adres email • is_staff (BooleanField) – Określa czy użytkownik może zalogować si˛e do panelu admina. • is_active (BooleanField) – Określa czy użytkownika należy uważać za aktywnego. Odznacz zamiast usuwać konto. • date_joined (DateTimeField) – Data przyłaczenia ˛ • picture (ImageField) – Avatar • codename (CharField) – Kryptonim • created_on (DateTimeField) – Utworzone o Widoki Formularze 14 Chapter 2. Treść CHAPTER 3 Indices and tables • genindex • modindex • search 15 Poradnia Documentation, Release 0.1 16 Chapter 3. Indices and tables Python Module Index a u advicer.forms, 6 advicer.models, 5 advicer.views, 6 users.forms, 14 users.models, 14 users.views, 14 c cases.forms, 9 cases.models, 8 cases.views.cases, 8 cases.views.permissions, 8 e events.forms, 10 events.models, 9 events.views, 10 f feedback_custom.forms, 10 k keys.forms, 11 keys.models, 10 keys.views, 11 l letters.forms, 12 letters.models, 11 letters.views, 11 n navsearch.models, 12 navsearch.views, 12 notifications_custom.views, 12 r records.models, 12 t template_mail.utils, 12 17 Index A L Advice (class in advicer.models), 5 advicer.forms (module), 6 advicer.models (module), 5 advicer.views (module), 6 Alarm (class in events.models), 9 Area (class in advicer.models), 5 Attachment (class in advicer.models), 5 Attachment (class in letters.models), 11 Letter (class in letters.models), 11 letters.forms (module), 12 letters.models (module), 11 letters.views (module), 11 C Case (class in cases.models), 8 CaseGroupObjectPermission (class in cases.models), 8 cases.forms (module), 9 cases.models (module), 8 cases.views.cases (module), 8 cases.views.permissions (module), 8 CaseUserObjectPermission (class in cases.models), 8 E Event (class in events.models), 9 events.forms (module), 10 events.models (module), 9 events.views (module), 10 F feedback_custom.forms (module), 10 I InstitutionKind (class in advicer.models), 5 Issue (class in advicer.models), 5 K Key (class in keys.models), 10 keys.forms (module), 11 keys.models (module), 10 keys.views (module), 11 18 N navsearch.models (module), 12 navsearch.views (module), 12 notifications_custom.views (module), 12 P PermissionGroup (class in cases.models), 9 PersonKind (class in advicer.models), 6 Profile (class in users.models), 14 R Record (class in records.models), 12 records.models (module), 12 Reminder (class in events.models), 9 S send_mail_with_header() (in plate_mail.utils), 12 T template_mail.utils (module), 12 U User (class in users.models), 14 users.forms (module), 14 users.models (module), 14 users.views (module), 14 module tem-