unicef / etools Goto Github PK
View Code? Open in Web Editor NEWLicense: Other
License: Other
During migration from EquiTrack to eTools, historic TPM visit records were not migrated over.
remove the library and it's dependencies
Instead of custom ui.
Once exports are moved out and the pmp / e2tf are stable (post release 3 / early in release 4) deprecate any custom django admin functionality for everyone and used by staff/superusers only.
See #241
upgrade once migrations are fixed
See PR #29 for full details
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
}
}
Doesn't seem like its overriden in prod config? This poses issues with eTag caching etc. we've implemented and marking the cache as dirty.
Instead should use django-redish-cache
To be consistent with the polymer template / interface.
Will affect interfaces like: homepage and dashboards etc.
Currently looks like this (header / side-nav), which is different than the material blue themed ui in https://github.com/unicef-polymer/etools-frontend-template
The default of most proxies/web servers is around 1MB and most scanned PDFs are above this.
Suggest making this 10-20MB.
Remove models:
Linked Location
Governorate
Locality
Region
Currently timezone is set to Eastern Europe Time, changing will have a small impact on times rolling back a few hours
Some additions are needed for filtering on interventions list:
-Country Program Output (etools 3.4.1) -> id(s). Unsure if there can be multiple, if so, an array of id's
-UNICEF Focal Point (etools 3.2.9) -> name. Don't know where this field comes from, unicef_managers? partner_focal_point? But either way, need the name / array of names.
-Office (etools 3.2.8) -> id.
-Location (etools 3.3.6) -> name . No id necessary here, will be searching for it in the search bar rather than using a dropdown.
A couple things unrelated to filtering:
-Need intervention id
-DON'T need excess info for sector set. Just id and name. However if there's a reason that info is there let me know and i'll edit this out.
Example doesn't look like django-redis-cache is currently used ?
Code shoud be on Country programme
if end is None:
self.cleaned_data[u'end'] = ResultStructure.current().to_date
Eg. User X approved Trip Y on date Z - changed made:
field 3: a to b
field 6: c to d
etc.
Need an API then for these as well. Can this be done somewhat generically where possible?
External libs:
https://github.com/Atomidata/django-audit-log
https://github.com/justquick/django-activity-stream
@ntrncic just comment out the link
504 request timeout happens on large exports of trips or partnerships
etools/EquiTrack/partners/models.py
Line 1213 in 44e3879
Depends on #215 of course, but opening separate one here since it'll take some effort from current DRF version being used.
we have inconsistency on migrations / business area. We need to fix this in prod..
Change PartnerStaffMembersViewSet and PartnerStaffMemberPropertiesView to a View with custom methods for get, post, patch, delete
Change the permissions according to requirements doc
Be able to list staff memebers per partner partner/pk/staff-members
Get one staff member /staff-members/pk
For save validations and creating users refer to PArtnerStaffMemberForm and PartnerStaffMember model. There are post save signals for activating and de-activating users. Do not send a response until signal is done.
Only used here it seems like: https://github.com/unicef/etools/blob/master/EquiTrack/partners/utils.py#L5
Remove from requirements, settings, everywhere.
Migrations use it, but they are being squashed anyway in #214
Useful for version tracking of one model and reverting back to older versions. Is this a use-case anywhere?
See #239 - where we need activity stream and model data diff tracking.
When I export from the interventions list screen I no longer have headers in the exported file and I am no longer able to filter in excel as a result.
Currently users are stored with Fist Name and Last Name only, middle names are necessary.
Will proxy to backend container and all the other frontend polymer app containers.
one get endpoint that takes in and returns:
nothing in -> all outputs serialized with result-type as string (result_type.name) (not ids)
country_programme (values: year : String) -> all results that apply for that year's country programme
result_type in (string values [Output, Activity, Outcome]) -> all results filtered by that result type
filters can be combined.
Being careful to take any data migrations into consideration as well.
Will require then a manual process for deployment to staging/production as well.
https://docs.djangoproject.com/en/1.10/topics/migrations/#migration-squashing
Benefit is that a user with multiple country access would be able access data from different countries in parallel (browser tabs).
urls would be /country//....
Might have to do same for all django admin urls as well and modify middleware that handles country switching. Same would need to be done in the API's then as well (either in url or as a header passed in?)
raise 400 Bad Request if the url is malformed.
add "partners/agreements/" should be added
Seems like the Result.country_programme = models.ForeignKey(CountryProgramme, null=True, blank=True) is unnecessary since Result Structure (to be renamed to Response Plan) already points to it.
Add Supersvisor and vendor number on the profile,
Map supervisor from api
Map vision roles to etools groups.. @kasfaw please provide a mapping logic
Currently a VOLUME /wheelhouse is mounted, a container is run which executes a shell script that does pip install to that mount point.
Then on the same host a new dockerfile executuves and does ADD /wheelhouse .... and does pip install hoping to not re-install all packages from scratch then
This will make this etools repo be just a Django project / codebase which has API's and admin functionality.
Depends on this issue ( unicef/etools-partner-portal#8 ) to be done as well so that pp functionality still keeps functioning.
Document schemas that were inconsistent with others....
Indicator models should be normalized and reports should be directly associated with the Applied Indicators.
IndicatorBlueprint -> AppliedIndicator -> IndicatorReports
Eg. https://github.com/unicef/etools/blob/master/dev_environ_setup.md and one for linux (consolidate into one README)
The HACT dashboard should only show trips completed for the current year...not for the entire country programme
Look into using CSV renderer for example https://github.com/mjumbewu/django-rest-framework-csv
Goal would be to leverage the API views and serializers we already have for the functionality we already have, as much as possible.
Q: Can we do StreamingHttpResponse ( https://docs.djangoproject.com/en/1.10/ref/request-response/#django.http.StreamingHttpResponse ) See also: http://www.django-rest-framework.org/api-guide/responses/
There needs to be a separation in the models from Results and Lower Level Results
Future goal would be for it to have other functionality / elements in it as well.
Current goal would be for it to have the same functionality as http://etools_domain/map/
Use this template for the new codebase: https://github.com/unicef-polymer/etools-frontend-template
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.