diff --git a/README.md b/README.md index 5bf5058..221cbc0 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ attributes: - attribute_name: zielort label: Zielort type: string - control: textbox + control: textbox - attribute_name: beginn label: Reisebeginn type: date @@ -218,3 +218,7 @@ Das von FlexDMA automatisch generierte Diagramm zum abgebildeten Prozess sieht w Ein Durchlauf durch den daraus resultierenden Prozess wird im folgenden Video gezeigt. ![](img/Bildschirmaufzeichnung.webm) + +Den vollständigen Code der Views finden Sie unter [src/views](src/views/) in diesem Repository. + +Dieses Tutorial zeigt nur einen Ausschnitt aus den verfügbaren Funktionen der aktuellen Version von FlexDMA. \ No newline at end of file diff --git a/README.pdf b/README.pdf index 1a12c55..1c048b1 100644 Binary files a/README.pdf and b/README.pdf differ diff --git a/src/schema.yml b/src/schema.yml new file mode 100644 index 0000000..d91a7fc --- /dev/null +++ b/src/schema.yml @@ -0,0 +1,61 @@ +schema_uniquename: tutorial_reiseantrag +schema_title: Beispiel Reiseantrag +initial_status: initial +types: + hotel: + attributes: + - attribute_name: name + label: Name + type: string + control: textbox + - attribute_name: kosten + label: "Kosten" + type: string + regex: "^[0-9]+(,[0-9]+)?$" + control: textbox + reisetyp: + attributes: + - attribute_name: typ + label: Reisetyp + type: string + control: textbox + loader: + type: python + code_location: "tutorial_reiseantrag/loaders/reisetyp.py" +attributes: +- attribute_name: reisetyp + label: "Typ der Reise" + type: reisetyp + control: select + required: true +- attribute_name: vorname + label: Vorname + type: string + control: textbox + required: true +- attribute_name: nachname + label: Nachname + type: string + control: textbox + required: true +- attribute_name: zielort + label: Zielort + type: string + control: textbox +- attribute_name: beginn + label: Reisebeginn + type: date + control: datepicker +- attribute_name: ende + label: Reiseende + type: date + control: datepicker +- attribute_name: uebernachtungen + label: "Übernachtungen" + type: hotel + cardinality: many + control: tableedit +- attribute_name: genehmigungskommentar + label: "Kommentar der/des Vorgesetzten" + type: string + control: textarea \ No newline at end of file diff --git a/src/views/abrechnen_beantragen_reisende.yml b/src/views/abrechnen_beantragen_reisende.yml new file mode 100644 index 0000000..a135e1f --- /dev/null +++ b/src/views/abrechnen_beantragen_reisende.yml @@ -0,0 +1,33 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Reise abrechnen" +state: abrechnen_beantragen +roles_allowed: +- role: reisende + restricted_by: "username == owner_username" +transitions: +- name: "to_abrechnung_beantragt" + label: "Antrag absenden" + state: "abrechnung_beantragt" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Kommentare" + visible_attributes: + - genehmigungskommentar +- name: "Abrechnung" + panels: + - name: "Abrechnungsdaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende + - uebernachtungen +readonly_fields: +- vorname +- nachname +- genehmigungskommentar diff --git a/src/views/abrechnung_beantragt_sachbearbeitung.yml b/src/views/abrechnung_beantragt_sachbearbeitung.yml new file mode 100644 index 0000000..7eb792a --- /dev/null +++ b/src/views/abrechnung_beantragt_sachbearbeitung.yml @@ -0,0 +1,40 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Reise abrechnen" +state: abrechnung_beantragt +roles_allowed: +- role: sachbearbeitung +transitions: +- name: "to_zahlung_angewiesen" + label: "Zahlung anweisen" + state: "zahlung_angewiesen" +- name: "to_zahlung_abgelehnt" + label: "Zahlung ablehnen" + state: "zahlung_abgelehnt" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Kommentare" + visible_attributes: + - genehmigungskommentar +- name: "Abrechnung" + panels: + - name: "Abrechnungsdaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende + - uebernachtungen +readonly_fields: +- vorname +- nachname +- genehmigungskommentar +- reisetyp +- zielort +- beginn +- ende +- uebernachtungen \ No newline at end of file diff --git a/src/views/beantragt_reisende.yml b/src/views/beantragt_reisende.yml new file mode 100644 index 0000000..aa7b24b --- /dev/null +++ b/src/views/beantragt_reisende.yml @@ -0,0 +1,30 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Reiseantrag in Prüfung sichten" +state: beantragt +roles_allowed: +- role: reisende + restricted_by: "username == owner_username" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Reisedaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende + - name: "Kommentare" + visible_attributes: + - genehmigungskommentar +readonly_fields: +- vorname +- nachname +- reisetyp +- zielort +- beginn +- ende +- genehmigungskommentar diff --git a/src/views/beantragt_vorgesetzte.yml b/src/views/beantragt_vorgesetzte.yml new file mode 100644 index 0000000..c8cade7 --- /dev/null +++ b/src/views/beantragt_vorgesetzte.yml @@ -0,0 +1,38 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Reiseantrag prüfen" +state: beantragt +roles_allowed: +- role: vorgesetzte +transitions: +- name: "to_initial" + label: "Antrag ablehnen" + state: "initial" + post_transition: + code_location: "tutorial_reiseantrag/transitions/send_email.py" +- name: "to_genehmigt" + label: "Antrag genehmigen" + state: "genehmigt" + post_transition: + code_location: "tutorial_reiseantrag/transitions/send_email.py" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Reisedaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende + - name: "Kommentare" + visible_attributes: + - genehmigungskommentar +readonly_fields: +- vorname +- nachname +- zielort +- beginn +- ende \ No newline at end of file diff --git a/src/views/genehmigt_reisende_sachbearbeitung.yml b/src/views/genehmigt_reisende_sachbearbeitung.yml new file mode 100644 index 0000000..a789145 --- /dev/null +++ b/src/views/genehmigt_reisende_sachbearbeitung.yml @@ -0,0 +1,35 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Genehmigte Reiseantrag sichten" +state: genehmigt +roles_allowed: +- role: reisende + restricted_by: "username == owner_username" +- role: sachbearbeitung +transitions: +- name: "to_abrechnung_beantragen" + label: "Antrag abrechnen" + state: "abrechnen_beantragen" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Reisedaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende + - name: "Kommentare" + visible_attributes: + - genehmigungskommentar +readonly_fields: +- vorname +- nachname +- reisetyp +- zielort +- beginn +- ende +- genehmigungskommentar diff --git a/src/views/initial_reisende.yml b/src/views/initial_reisende.yml new file mode 100644 index 0000000..dcb95ba --- /dev/null +++ b/src/views/initial_reisende.yml @@ -0,0 +1,26 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Reiseantrag anlegen" +state: initial +roles_allowed: +- role: reisende + restricted_by: "username == owner_username" +transitions: +- name: "to_beantragt" + label: "Antrag stellen" + state: "beantragt" +- name: "to_initial" + label: "Zwischenspeichern" + state: "initial" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Reisedaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende diff --git a/src/views/zahlung_abgelehnt_reisende_sachbearbeitung.yml b/src/views/zahlung_abgelehnt_reisende_sachbearbeitung.yml new file mode 100644 index 0000000..f1a5f29 --- /dev/null +++ b/src/views/zahlung_abgelehnt_reisende_sachbearbeitung.yml @@ -0,0 +1,35 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Nicht erstattete Reise sichten" +state: zahlung_abgelehnt +roles_allowed: +- role: sachbearbeitung +- role: reisende + restricted_by: "username == owner_username" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Kommentare" + visible_attributes: + - genehmigungskommentar +- name: "Abrechnung" + panels: + - name: "Abrechnungsdaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende + - uebernachtungen +readonly_fields: +- vorname +- nachname +- genehmigungskommentar +- reisetyp +- zielort +- beginn +- ende +- uebernachtungen \ No newline at end of file diff --git a/src/views/zahlung_angewiesen_reisende_sachbearbeitung.yml b/src/views/zahlung_angewiesen_reisende_sachbearbeitung.yml new file mode 100644 index 0000000..a6a7f59 --- /dev/null +++ b/src/views/zahlung_angewiesen_reisende_sachbearbeitung.yml @@ -0,0 +1,35 @@ +view_for: "tutorial_reiseantrag" # Bezieht sich auf schema_uniquename +title: "Erstattete Reise sichten" +state: zahlung_angewiesen +roles_allowed: +- role: sachbearbeitung +- role: reisende + restricted_by: "username == owner_username" +tabs: +- name: "Allgemein" + panels: + - name: "Stammdaten" + visible_attributes: + - nachname + - vorname + - name: "Kommentare" + visible_attributes: + - genehmigungskommentar +- name: "Abrechnung" + panels: + - name: "Abrechnungsdaten" + visible_attributes: + - reisetyp + - zielort + - beginn + - ende + - uebernachtungen +readonly_fields: +- vorname +- nachname +- genehmigungskommentar +- reisetyp +- zielort +- beginn +- ende +- uebernachtungen \ No newline at end of file