95 | | We currently have a very basic !SitRep module in Eden where we can write a Rich Text report &/or add a file attachment. |
96 | | |
97 | | There are cases where the !SitReps for different Districts should be aggregated at the next higher level (e.g. Province or Division). |
98 | | |
99 | | For the Rich-Text, I see this as creating a section for each District with a Section Header added and all the Heading levels taken down a notch: H1s -> H2s, etc |
100 | | |
101 | | !SitReps can also include hard numbers though, like #affected, #dead, #wounded, #missing, #displaced, # staff, #volunteers, # vehicles, #shelters, etc then obviously these should be totalled in the aggregated report, so, we need a way to store these in the !SitRep. |
102 | | |
103 | | ==== Data Model ==== |
104 | | I would suggest a Key-Value system in a new table: |
105 | | * {{{doc_sitrep_tag}}} |
106 | | |
107 | | This would be like the ones for {{{gis_location}}} (amongst others): |
108 | | * https://github.com/flavour/eden/blob/master/modules/s3db/gis.py#L1254 |
109 | | Note how these are added to the parent resource as a [wiki:S3/S3Model/ComponentResources Component]: |
110 | | * https://github.com/flavour/eden/blob/master/modules/s3db/gis.py#L386 |
111 | | |
112 | | This model should be added to the !SitRep class (I don't think we need a separate class here): |
113 | | * https://github.com/flavour/eden/blob/master/modules/s3db/doc.py#L664 |
114 | | |
115 | | ==== UI ==== |
116 | | For UI, this could be a Tab, as it is for {{{gis_location}}}, or could be an Inline form. I think the Inline form is better, generally better UX & works better for when the sitrep is itself on a tab (e.g. of the Event or Org) |
117 | | |
118 | | Inline form: |
119 | | * https://github.com/flavour/eden/blob/master/modules/s3db/doc.py#L715 (Can add KV like Files) |
120 | | |
121 | | Tabs: |
122 | | * https://github.com/flavour/eden/blob/master/modules/s3db/gis.py#L5427 (Need to add an rheader like this to !SitReps) |
123 | | |
124 | | |
125 | | I have provided an initial UI for the aggregation: |
126 | | * https://github.com/flavour/eden/blob/master/private/templates/ARC/config.py#L841 |
127 | | i.e. there is a hook for a new 'consolidate' method which is called with the selected sitreps. |
128 | | |
129 | | The {{{consolidate}}} method needs writing. It would look something like this: |
130 | | * https://github.com/flavour/eden/blob/master/modules/s3db/hrm.py#L3995 |
131 | | |
132 | | ==== XSLT Import ==== |
133 | | XSLT should be provided to import the Tags: |
134 | | * https://github.com/flavour/eden/blob/master/static/formats/s3csv/event/event.xsl [Example of a KV in an XSLT file] |
135 | | * https://github.com/flavour/eden/blob/master/static/formats/s3csv/doc/sitrep.xsl [File which needs modifying] |