(c) 2022, 2023 RENware Software Systems
cosana
Comprehensive Sales Analysis & Review
[PDF VERSION](/download{{ request.path }})
[TOC]
With (F) are marked those entries that are FEATURES so should be highlighted on Release Note documents.
With (B) are marked those entries that are BUG FIXES so should be highlighted on Release Note documents.
- 230310piu_c check all DAS Decision Criteria code, made a full cleanup and release 0.9.0 as beta
- (B) 230310piu_b FIXED BUG @ saving MAP info for records having NO DATA in level 2 (MAP object -
ads_decision_criteria_details_2maptoperson
)- SOLUTION: Jinja variable
ns.person_pk
is set inside level 2 loop and moved outside level 2 loop - probably is nothing constructed by Jinja render, having no record in MAP object
- component: ads_decision_criteria.html`,
- function:
decision_criteria_details_CollectData(rec_pk)
, - ERROR: - at EDIT for no data into level 2 MAP object
- INDICATIONS: Jinja variable
ns.person_pk
not set for no records in level 2 MAP for a criteria / should check if set inside level 2 loop and move outside
- SOLUTION: Jinja variable
- 230310piu_a1 ALL Solution updates and cleanings for extended tests:
- update DB test with human readable PKs;
- update data model set CASCADE for delete and update for domains: Organization Map; generate new db script as
full_db_sys_0.9.0-067.sql
- 230310piu_a UI interface (
ads_decision_criteria.html
), made form and operation of New - for this operation only a new decision criteria withour_status
is add, then user can update map with persons; updated APIads_decision_criteria_api_models.py
- 230310piu_a update ROADMAP (OPISS.006) with changing all ADS business domains to "a big form" to ce able to introduce Bootstrap standard validation for required fields
- 230309piu_d
ads_decision_criteria_details_1criterialist
full Sav of level 1 and 2 API forads_decision_criteria_details_1criterialist
for level 2 to do update / insert for all records (hide to client the details of M:M implementation as relational - as level 2 it would be attributes of level 1)- 1. coded for UPDATE
client_importance
for existing records (persons mapped) - 2. coded for INSERT
client_importance
for new records (persons unmapped)
- 1. coded for UPDATE
- 230309piu_c code cleanup and small corrections and improvements, NOT functional but ref code styling
- 230309piu_b API test new data collected for MAP in 230308piu_f
- 230309piu_a LOV (
ads_decision_criteria_lov_models.py
) introduced a updated value forclient_importance
list:NOT KNOWN
to 'UNKNOWN' and set dedicated selector option value to it (actual set on "") - 230308piu_f UI interface (
ads_decision_criteria.html
) for level 2 (MAP) data- review and update
id(s)
anddata-person_pk
- update function
solution_details_CollectData
and Sav operations where send collection of dictionaries{ads_relationships_details_fk, client_importance}
- review and update
- 230308piu_e LOV (
ads_decision_criteria_lov_models.py
) introduced a new value forclient_importance
list:NOT KNOWN
and set selector option for unknown, value to it (actual set on "") - 230308piu_d UI interface (
ads_decision_criteria.html
), set forclient_importance
selector options thedata-person_pk
data attribute which contains person PK - will be used in build level 2 intersection (ads_decision_criteria_details_2maptoperson
) as pair of (ads_relationships_details_fk
,client_importance
) - 230308piu_c UI interface (
ads_decision_criteria.html
), review and updateid(s)
; prepare Collect New Data and Sav operations for level 1 (ads_decision_criteria_details_1criterialist
) (for level 2 just send collection of dictionaries{ads_relationships_details_fk, client_importance}
and left for latter processing)
- 230308piu_b update API for
ads_decision_criteria_details_1criterialist
for level 1 (ads_decision_criteria_details_1criterialist
) data - 230308piu_a updated data_models README specs documentation ref API for
ads_decision_criteria_details_1criterialist
- 230307piu_b API for
ads_decision_criteria_details_1criterialist
commented code where should "concentrate" - 230307piu_a more changes:
-
ads_decision_criteria_lov_models.py
updated colors for Bootstrap colors -
ads_decision_criteria.html
updated to activate "Sav" button on any change in details zone -
ads_decision_criteria.html
updated to change cell color depending on information (client_importance
attribute) loaded resulting a "visual colored map"
-
- 230306piu_c
ads_decision_criteria_api_models.py
change DELETE route function (ads_decision_criteria_details_1criterialist_delete(ads_decision_criteria_details_1criterialist_pk)
) to dele MAP DETAILS using new relationship created at 230306piu_b (instead of accessing directly the 2nd level MAP object) - 230306piu_b
ads_decision_criteria_data_models.py
restoredback_populates
clauses for relationship between 1st and 2nd level - 230306piu_a review and update
-
as_dict()
functions for data modelsads_decision_criteria_data_models.py
after 230305piu_b changes - NO UPDATE NEEDED - data models README specs and update last changed date
-
- 230305piu_b UI interface (
ads_decision_criteria.html
), made operations of Del; updated APIads_decision_criteria_api_models.py
and data modelads_decision_criteria_data_models.py
- (B) 230305piu_a
crud_data_admin
table data get (get_data(only_keys=None)
), scan for keys like 'ads_*' and alter them to show only a flag as symbol if info exists
- 230304piu_a UI interface (
ads_decision_criteria.html
) prepared section ref to"PEOPLE TO DECISION_CRITERIA:..."
for future selector background color depending on option chosen (usingcolor
from corresponding OV value) - 230303piu_g UI interface (
ads_decision_criteria.html
) made part of sparse matrix set with actual data and for missing set combo as?
- (B) 230303piu_f UI interface (
ads_decision_criteria.html
) is missing the 3rd person from test data, check looping data - 230303piu_e UI interface (
ads_decision_criteria.html
) made part of sparse matrix fill with all data from LOV - (B) 230303piu_d symptom: ADS Revenue data model fields are mandatory but have no default value, so app raise error if any of them is not completed
solution: fixed API route (
/api/ads_revenue_post/<sales_project_pk>
, functionads_revenue_post(sales_project_pk)
) and UI interface cleaned of useless elements - 230303piu_c clean code, drop cleared FIXMEs
- 230303piu_b UI interface, made DECISION CRITERIA LIST OBJECT (
ads_decision_criteria_details_1criterialist
) - 230303piu_a cleaning UI interface (useless or debugging info elements)
- 230302piu_e update
README_data_models.py
ref ADS Decision Criteria API route for post at first level (ads_decision_criteria
object) - 230302piu_d UI interface, saving data ref MASTER OBJECT update
ads_start_page.html
corresponding save sectionsave_ads_all_data(sales_project_pk)
, new section for ADS Decision Criteria (respecting the pattern of function) and functionget_new_ads_decision_criteria()
- (B) 230302piu_c symptom: ADS Revenue data model fields are mandatory but have no default value, so app raise error if any of them is not completed
solution: updated input fields in UI interface, put and
*
in field name and made themrequired="true"
- 230302piu_b
ads_main.py
get ADS Relationship Details ALL data as needed to use NEW elements inads_decision_criteria_details_2maptoperson
(Jinja variable setrelationships_details_data
) - 230302piu_a update API component (
ads_decision_criteria_api_models.py
) - 230301piu_f
ads_start_page
UI interface, loading data (without save) ref MASTER OBJECT (ads_decision_criteria
) - 230301piu_e update
ads/ads_main.py
to load all necessary data (Jinja variables), ie LOV and persons / involved people from DAS Relationships Approach business domain:- 1. make a sketch draft of
ads_decision_criteria.html
- 2. update
ads_main.py
- 1. make a sketch draft of
- 230301piu_d small refactoring in
ads_main.py
to deny "pure local" some variable name obfuscate (prefix them with_
):ads_evaluation
,ads_relationships
,ads_solution
- 230301piu_c
salesproject_data_models
updated with relationship toads_decision_criteria
- 230301piu_b
ads_decision_criteria
made API route for GET (@ MASTER OBJECT level) and commented for POT and next levels routes (DECISION CRITERIA OBJECT, PEOPLE MAP TO CRITERIA OBJECT); publish to system init chain (sys_core/init_system.py
) - 230301piu_a change PEOPLE MAP TO CRITERIA OBJECT - (
ads_decision_criteria_details_2maptoperson
) relationship to ADS Relationships Details for update & delete operations to CASCADE rule
- (B) 230228piu_c fix
ads_solution_data_models
, replace all "org_map" occurrences to "ads_solution" (exists in temporary data / variables) - 230228piu_b ORM data model ref first pass TOP-DOWN (physical attributes):
- 0. skeleton with all entities as blank (only technical attributes); loaded in system init chain (
sys_core/init_syste.py
) update physical data & db scripts - 1. MASTER OBJECT - (
ads_decision_criteria
); update physical data & db scripts - 2. DECISION CRITERIA OBJECT - (
ads_decision_criteria_details_1criterialist
); update physical data & db scripts - 3. PEOPLE MAP TO CRITERIA OBJECT - (
ads_decision_criteria_details_2maptoperson
) relation to DECISION CRITERIA OBJECT; update physical data & db scripts - 4. PEOPLE MAP TO CRITERIA OBJECT - (
ads_decision_criteria_details_2maptoperson
) relation to ADS Relationships Details; update physical data & db scripts - 5. PEOPLE MAP TO CRITERIA OBJECT - (
ads_decision_criteria_details_2maptoperson
) business attributes andas_dict()
method
- 0. skeleton with all entities as blank (only technical attributes); loaded in system init chain (
- 230228piu_a LOV data model (
lov_ads_decision_criteria
) ref:- DECISION CRITERIA OBJECT - (
our_status
) in (ads_decision_criteria_details_1criterialist
) - PEOPLE MAP TO CRITERIA OBJECT - (
client_importance
) in (ads_decision_criteria_details_2maptoperson
) - updated System Data fer LOV object
- (B) fixed bugs ref
get_selector_info(selector, code)
in:ads_solution_lov_models.py
,ads_relationships_lov_models.py
- DECISION CRITERIA OBJECT - (
- 230227piu_a review, updated & closed iss # 230226piu_a
- 230226piu_a update System Data ref ADS Decision criteria business domain
- 1. conceptual model, the three objects: MASTER OBJECT, DECISION CRITERIA OBJECT, PEOPLE MAP TO CRITERIA OBJECT
- 2. refactored object names to make easier identification (included level number after text "details_")
- [3] 3. details ref MASTER OBJECT - (
ads_decision_criteria
) - 4. details ref DECISION CRITERIA OBJECT - (
ads_decision_criteria_details_1criterialist
) - 5. details ref PEOPLE MAP TO CRITERIA OBJECT - (
ads_decision_criteria_details_2maptoperson
)
- (B) 230225piu_k fixed message displayed when no ADS Solution exists (prev version display about Relationships)
- 230225piu_j
salesproject_data_models
updated with relationship toads_solution
; archived version 0.7.0
--- ooo ---