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-

Podobne dokumenty