| 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] |