openbudget / budgetkey-app-generic-item Goto Github PK
View Code? Open in Web Editor NEWLicense: MIT License
License: MIT License
Define a method for specifying that a certain header should be a link.
Links should be displayed as an icon, not with the full url.
Open Office Tender (`WHERE tender_type = 'central')
No. | data source | label | value / logic | comments |
---|---|---|---|---|
6 | decision |
none | ` if "עתידי" show "עתידי", if "בתוקף" show "הושלם תהליך הרכש" + procurement status (like in the office tenders), if "פורסם וממתין לתוצאות" show "פתוח", if "לא בתוקף" show "הושלם תהליך הרכש" | |
7 | PUBLISHER |
none | מינהל הרכש הממשלתי |
in the future it should be clickable and lead to a publisher entity page, currently simple text |
11b | tender_type |
סוג המכרז: | מרכזי |
in this PR a search bar was added to the ng2-components header, need to integrate the latest ng2-components, enable the search bar in the header and fix the design of the search bar in ng2-components (functionality works)
The purpose of this issue is to translate different purchasing methods into 1-3 words labels + more info to show more (accessible) info of the original raw value, as part of #67
see details at the 2nd tab of: https://docs.google.com/spreadsheets/d/1kF1rGO8_2Siri6UfgmawGBnA5Yu86QOz-P9iguqQNKM/edit#gid=1232287862 (second tab)
new version:
This app is supposed to provide information on a single budget item (be it a top-level, 2 digit item or an 8-digit TAKANA).
The basic layout consists of a
The basic design can be seen here: https://projects.invisionapp.com/d/main#/console/7587193/166401746/preview
For now the task is to implement bullets (1) and (2) from above.
page design: https://projects.invisionapp.com/d/main#/console/7587193/272380789/preview
No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | order_id ,order_date |
none | פעיל/לא פעיל | if the ending date has been passed --> לא פעיל, if not --> 'פעיל', if there is not ending date, we will check the last report - if it has been more 6 months mark as לא פעיל |
2 | none | none | ||
3 | report_date |
עדכון אחרון: | notice this is the date of the end of the report publishing date. be prepared for a borken report-date value, show לא ידוע |
|
4 | order_date .suppier_id ,manof_ref ,purchasing_unit ,report_date |
מועד הזמנה: | find the order_date of the first procurement with the same manof_ref ,supplier_id and purchasing_unit |
show the earlier report_date value |
5 | purpose |
none | ||
6 | purchase_method |
none | short label (1-3 words), to be handled separately on #68. More info about the method will be displayed in element 12, see below | @akariv you can decide wether to put the original value for now as a placeholder, or implement #68 when ready |
7 | publisher ,purchasing_unit |
none | if publisher == purchasing_unit --> pusblisher , else: publisher +": "+"purchasing_unit + arrow |
notice the arrow at the end of the line |
8a | supplier_name |
none | none | in the future it will be linked to a supplier page. If there is more than one supplier add "+[no. of additional suppliers] |
8b | supplier_code |
none | none | in the future it will be linked toa supplier page |
9a | executed , volume |
none | if executed > voulme, change color into rgb(244, 146, 66) | pie chart |
9b | executed , volume |
'עד כה בוצעו...% מתוך:` | exectued / volume |
dd% (round result). Notice this formula should relate only to the concrete relations between supplier and purchasin unit (in other words - not to the maonf_ref, as we did on #47) |
9c | executed |
none | sum of all exectued values for the relevant order |
add NIS symbol to value. Here also, we should relate only to the concrete relations between supplier and purchasin unit (in other words - not to the maonf_ref, as we did on #47) |
10 | manof_ref ,tender's subjects |
here we should import the referring entities' topics, if any. label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic | (see #47, #57) | |
11 | budget_title , budget_code |
סעיף תקציבי |
budget-title +", סעיף מספר"+budget_code +". לעמוד הסעיף במפתח התקציב". |
check a valid budget_code. If approved, add "לעמוד הסעיף במפתח התקציב" with a link to the relevant page on budget key site |
12 | purchase_method |
סיבת הפטור / תקנה / סעיף`, scenarios to be defiend in #68 |
@akariv you can decide wether to put the original value for now as a placeholder, or implement #68 when ready | |
13a | headers/columns | table headers: ינואר-מרץ ,אפריל-יוני ,יולי-ספטמבר ,אוקטובר-דצמבר , table columns: years, starting first year of the earliest relevant report_date |
||
13b | executed , after calculating it in #59 |
add ILS symbol | table to include quarterly execution, therefore should apply #59 before implementing. If the item does not appear in the report show '----', if the report has not published show 'לא פורסם' | |
13c | report_url |
attached icon | conditional field: show only if the value is a valid url address. If son, the icon to be linked to the relevant file (report), to opened in a separate tab. | add popup: להורדת הדו"ח הרבעוני |
14 | executed , reportd_date , |
סכום התשלומים המצטבר בהתקשרות (לפי רבעונים) | notice the text in parentheses is unbolded | |
15 | implement moudle, queries to be defined in a separate issue: #59 |
Columns containing currency should be formatted with ',' separators and decimal points, and have ₪ at the end.
(This should not apply to all numbers, as some might be non currency - e.g. years)
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
Open Office Tender (`WHERE tender_type = 'office' AND decision='חדש') OR (decision='עודכן'))
No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | any of the fields | none | if a value changed during TODAY <= LAST_UPDATE_DATE + 7 days value should be עודכן! , if TODAY <= START_DATE + 7 value should be חדש! |
do not use the decision field value here, as it is not reflecting what we intend to show with this label. |
2 | decision |
none | מכרז פתוח : based on the decision field: if decision == חדש or decision == עודכן . |
other values to be handled in #56 #57 |
3 | LAST_UPDATE_DATE |
עדכון אחרון |
date | dd.mm.yyyy |
4 | START_DATE |
פרסום ראשון |
date | dd.mm.yyyy |
5 | DESCRIPTION |
BOLD | ||
6 | decision |
none | מכרז פתוח : based on the decision field: if decision == חדש or decision == עודכן . |
For now, when the descision field consists other value, show nothing, To Be Continued |
7 | PUBLISHER |
none | in the future it should be clickable and lead to a publisher entity page, currently simple text | |
8 | quarterly_contract_spending_reports.supplier_name |
none | A. if the tender_id appears in quarterly_contract_spending_reports.manof_ref and count('supplier_name') == 1 , display supplier_name ). B. if count('supplier_name') > 2, display [num] ספקים`. C. Otherwise, leave empty |
|
9a | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
pie chart | ||
9b | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
'עד כה בוצעו...% מתוך:` | exectued / volume |
dd% (round result). Notice this formula should relate to ALL relevant suppliers (using manof_ref ) |
9c | quarterly_contract_spending_reports.executed |
none | sum of all exectued values for the relevant manof_ref |
add NIS symbol to value |
10 | SUBJECTS |
label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic | ||
11a | tender_id |
מספר מנו"ף | tender_id |
|
11b | tender_type |
סוג המכרז: | if tender_type == office --> משרדי |
|
11c | CLAIM_DATE |
מועד סגירה: ... בשעה... | dd.mm.yyyy + HH:MM: | |
11d | CONTACT |
אנשי קשר: | email adresses should be clickable and open user's email client | |
12a | actionable A # | to be handled on a follow #51 | ||
12b | actionable B # | to be handled on a follow #51 | ||
13 | (table intro) | table headers : הזוכים במכרז , סכום ההתקשרות , עד כה שולם |
values in this block are to be calculated by the intersection between current tender_id and ``quarterly_contract_spending_reports.manof_ref. Table should be sorted by the value` amount (13b) in a decreasing order (biggest value, first row) |
|
13a | quarterly_contract_spending_reports.supplier_name |
in the future it would be linked to future entity page, currently nothing special | ||
13b | quarterly_contract_spending_reports.volume |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.volume of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13c | quarterly_c quarterly_contract_spending_reports.executed` |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.executed of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13d | link to the relevant התקשרות page | |||
14 | (table intro) | table shows chronological history of the tender, in a reversed order. Two type of updates to be included: tender status change (bolded), payment (taken from the quarterly report) (bolded row), uploading/updating file (normal text for the entrie row) | ||
14a | quarterly_c quarterly_contract_spending_reports.volume, quarterly_cquarterly_contract_spending_reports.executed |
no headers | pie chart of the executed out of the total volume |
the pie chart refers to the tender's total exectued out of the total approved values, not to be confused with 13 above |
14b | (update date -- from either quarterly_c quarterly_contract_spending_reportsor procurement_tenders` |
if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
||
14c | quarterly_contract_spending_report.PAGE_URL or quarterly_contract_spending_reports.REPORT-URL |
don't show address, just display the icon with a relevant link | to be opened in a new tab | |
14d | update message | needs to set logic to be handled in a separate issue, to be hanled in #52 | ||
15 | grid intro, based on procurement_tenders.DOCUMENTS |
קבצים מצורפים |
||
15a | update_time |
none | (update date -- from either quarterly_contract_spending_reports or procurement_tenders ) if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
|
15b | icon + file name | icon to be set by the file type extention (doc/pdf/xls/csv), each element should be linked to the link address. If the number of elements is bigger than 3, start a new row of elements |
Follow up of #71:
(taken from http://next.obudget.org/i/tenders/central/553418/technology-2-2014?li=15)
When was it opened? closed? documents updated?
might be relevant for tender exemptions and office tenders as well
...follow up of #47
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
Open Office Tender (FROM procurement_tender
WHERE 'TENDER_TYPE' == 'central'
)
Dynamic Values:
No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | any of the fields | none | if a value changed during TODAY <= LAST_UPDATE_DATE + 7 days value should be עודכן! , if TODAY <= START_DATE + 7 value should be חדש! |
do not use the decision field value here, as it is not reflecting what we intend to show with this label. |
2 | decision |
none | מכרז פתוח : based on the decision field: if decision == חדש or decision == עודכן . |
For now, when the descision field consists other value, show nothing, To Be Continued |
3 | LAST_UPDATE_DATE |
עדכון אחרון |
date | dd.mm.yyyy |
4 | START_DATE |
פרסום ראשון |
date | dd.mm.yyyy |
5 | DESCRIPTION |
BOLD | ||
6 | decision |
none | מכרז פתוח : based on the decision field: if decision == חדש or decision == עודכן . |
For now, when the descision field consists other value, show nothing, To Be Continued |
7 | PUBLISHER |
none | in the future it should be clickable and lead to a publisher entity page, currently simple text | |
8 | quarterly_contract_spending_reports.supplier_name |
none | A. if the tender_id appears in quarterly_contract_spending_reports.manof_ref and count('supplier_name') == 1 , display supplier_name ). B. if count('supplier_name') > 2, display [num] ספקים`. C. Otherwise, leave empty |
|
9a | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
pie chart | ||
9b | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
'עד כה בוצעו...% מתוך:` | exectued / volume |
dd% (round result). Notice this formula should relate to ALL relevant suppliers (using manof_ref ) |
9c | quarterly_contract_spending_reports.executed |
none | sum of all exectued values for the relevant manof_ref |
add NIS symbol to value |
10 | SUBJECTS |
label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic | ||
11a | tender_id |
מספר מנו"ף | tender_id |
|
11b | tender_type |
סוג המכרז: | if tender_type == office --> משרדי |
|
11c | CLAIM_DATE |
מועד סגירה: ... בשעה... | dd.mm.yyyy + HH:MM: | |
11d | CONTACT |
אנשי קשר: | email adresses should be clickable and open user's email client | |
12a | actionable A # | to be handled on a follow #51 | ||
12b | actionable B # | to be handled on a follow #51 | ||
13 | (table intro) | table headers : הזוכים במכרז , סכום ההתקשרות , עד כה שולם |
values in this block are to be calculated by the intersection between current tender_id and ``quarterly_contract_spending_reports.manof_ref. Table should be sorted by the value` amount (13b) in a decreasing order (biggest value, first row) |
|
13a | quarterly_contract_spending_reports.supplier_name |
in the future it would be linked to future entity page, currently nothing special | ||
13b | quarterly_contract_spending_reports.volume |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.volume of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13c | quarterly_c quarterly_contract_spending_reports.executed` |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.executed of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13d | link to the relevant התקשרות page | |||
14 | (table intro) | table shows chronological history of the tender, in a reversed order. Two type of updates to be included: tender status change (bolded), payment (taken from the quarterly report) (bolded row), uploading/updating file (normal text for the entrie row) | ||
14a | quarterly_c quarterly_contract_spending_reports.volume, quarterly_cquarterly_contract_spending_reports.executed |
no headers | pie chart of the executed out of the total volume |
the pie chart refers to the tender's total exectued out of the total approved values, not to be confused with 13 above |
14b | (update date -- from either quarterly_c quarterly_contract_spending_reportsor procurement_tenders` |
if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
||
14c | quarterly_contract_spending_report.PAGE_URL or quarterly_contract_spending_reports.REPORT-URL |
don't show address, just display the icon with a relevant link | to be opened in a new tab | |
14d | update message | needs to set logic to be handled in a separate issue, to be hanled in #52 | ||
15 | grid intro, based on procurement_tenders.DOCUMENTS |
קבצים מצורפים |
||
15a | update_time |
none | (update date -- from either quarterly_contract_spending_reports or procurement_tenders ) if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
|
15b | icon + file name | icon to be set by the file type extention (doc/pdf/xls/csv), each element should be linked to the link address. If the number of elements is bigger than 3, start a new row of elements |
split the tender's SUBJECT
field to a list of values, by the ;
separator.
See this example tender subjects list for example:
מחשוב ותקשורת; מכשירי תקשורת ואביזרים; רכיבים לטכנולוגיות מידע ושידור; יחידות אחסון נתונים; מחשבים; תוכנות;מדפסות; מסכי מחשב; ציוד נלווה למחשוב; שרתים; ציוד תקשורת מולטימדיה ו- DataVoice
Edit app/descriptors/org/municipality/text-template.html to make it more descriptive and include all information that we have regarding a municipality.
(This is an overarching issue - should be split into smaller, sub-issues)
The generic item page is the main workhorse of the site. It will show information regarding a single entity stored in our database: it could be a budget item, an organisation or a transaction.
It will always have the same layout, although it would present things differently depending on the entity type (naturally).
The layout consists of these sections:
Each entity will have a single document will contain all data necessary to render the page.
This means that the flow of the page will always start with a single API call to get the relevant document (based on the path) and no other API calls should be necessary.
The customisation of the page to the different kinds should be (as much as possible) in configuration and not code.
The goal is that changing the page's behaviour for a single kind of page wouldn't require diving into the code, just changing a configuration file.
Configuration files should be simple enough to use and edit, and could be baked into something more comfortable for the code during the build process.
e.g. (just an example, not a spec)
{
'path-prefix`: '/org/company/',
'title-template': '{{name}}',
'subtitle-template': '{{kind}}, received {{amount_received}} from the government',
'text-template': '{{name}} was founded in year {{founded_year}}, bla bla bla',
'questions': [{
'text': 'How much <source> money was received by this company',
'query': 'SELECT * from funding where company_id={{id}} and source IN ({{source}})',
'parameters': {
'source': {'Subsidy': "'s'",
'Procurement': "'p'",
'All': "'s', 'p'"}
}
}]
}
The data to build this configuration object might come from a set of files in a directory, e.g.
+ org/
+ company/
+ title-template.html
+ subtitle-template.html
+ text-template.html
+ questions.json
+ visualisations.json
The panel will be affixed to the bottom of the page, and when opened will show a few question templates - based on the current entity type. For example, if it's an organisation, the question template might be:
"All the <subsidies/procurement/any> this organisation received between years and "
Each selection would be a dropdown that the user might choose a value.
When selected, the client will generate an SQL query which would be sent to the server, executed and returned to the client to be presented in a table.
The user might then download the data to CSV or get a link to open the query in re:dash.
None of the APIs are currently implemented.
Please work with mocks, and we'll implement the APIs also based on what this page needs.
Implement a standalone ng2 component providing a sankey visualisation, fit for the initial prototype (Described in #1)
follow-up of #47:
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | decision |
none | if a value changed during TODAY <= LAST_UPDATE_DATE + 7 days value should be הסתיים , if TODAY <= START_DATE + 7 value should be הסתיים |
do not use the decision field value here, as it is not reflecting what we intend to show with this label. |
2 | decision |
none | המכרז הסתיים : based on the decision field: if decision == הסתייים |
other values to be handled in #47 #56 |
3 | LAST_UPDATE_DATE |
עדכון אחרון |
date | dd.mm.yyyy |
4 | START_DATE |
פרסום ראשון |
date | dd.mm.yyyy |
5 | DESCRIPTION |
BOLD | ||
6 | none | if there are documented transfers in quarterly_contract_spending_reports.executed should show יש התקשרויות מתועדות , otherwise --> אין התקשרויות מתועדות |
||
7 | PUBLISHER |
none | in the future it should be clickable and lead to a publisher entity page, currently simple text | |
8 | quarterly_contract_spending_reports.supplier_name |
none | A. if the tender_id appears in quarterly_contract_spending_reports.manof_ref and count('supplier_name') == 1 , display supplier_name ). B. if count('supplier_name') > 2, display [num] ספקים`. C. Otherwise, leave empty |
|
9a | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
pie chart | ||
9b | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
'עד כה בוצעו...% מתוך:` | exectued / volume |
dd% (round result). Notice this formula should relate to ALL relevant suppliers (using manof_ref ) |
9c | quarterly_contract_spending_reports.executed |
none | sum of all exectued values for the relevant manof_ref |
add NIS symbol to value |
10 | SUBJECTS |
label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic | ||
11a | tender_id |
מספר מנו"ף | tender_id |
|
11b | tender_type |
סוג המכרז: | if tender_type == office --> משרדי |
|
11c | CLAIM_DATE |
מועד סגירה: ... בשעה... | dd.mm.yyyy + HH:MM: | |
11d | CONTACT |
אנשי קשר: | email adresses should be clickable and open user's email client | |
12a | actionable A # | to be handled on a follow #51 | ||
12b | actionable B # | to be handled on a follow #51 | ||
13 | (table intro) | table headers : הזוכים במכרז , סכום ההתקשרות , עד כה שולם |
values in this block are to be calculated by the intersection between current tender_id and quarterly_contract_spending_reports.manof_ref . Table should be sorted by the value amount (13b) in a decreasing order (biggest value, first row) |
|
13a | quarterly_contract_spending_reports.supplier_name |
in the future it would be linked to future entity page, currently nothing special | ||
13b | quarterly_contract_spending_reports.volume |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.volume of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13c | quarterly_c quarterly_contract_spending_reports.executed` |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.executed of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13d | link to the relevant התקשרות page | |||
14 | (table intro) | table shows chronological history of the tender, in a reversed order. Two type of updates to be included: tender status change (bolded), payment (taken from the quarterly report) (bolded row), uploading/updating file (normal text for the entrie row) | ||
14a | quarterly_c quarterly_contract_spending_reports.volume, quarterly_cquarterly_contract_spending_reports.executed |
no headers | pie chart of the executed out of the total volume |
the pie chart refers to the tender's total exectued out of the total approved values, not to be confused with 13 above |
14b | (update date -- from either quarterly_c quarterly_contract_spending_reportsor procurement_tenders` |
if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
||
14c | quarterly_contract_spending_report.PAGE_URL or quarterly_contract_spending_reports.REPORT-URL |
don't show address, just display the icon with a relevant link | to be opened in a new tab | |
14d | update message | needs to set logic to be handled in a separate issue, to be hanled in #52 | ||
15 | grid intro, based on procurement_tenders.DOCUMENTS |
קבצים מצורפים |
||
15a | update_time |
none | (update date -- from either quarterly_contract_spending_reports or procurement_tenders ) if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
|
15b | icon + file name | icon to be set by the file type extention (doc/pdf/xls/csv), each element should be linked to the link address. If the number of elements is bigger than 3, start a new row of elements |
(taken on: http://next.obudget.org/i/tenders/central/553418/technology-2-2014?li=15)
No date is shown. If for any reason this is because there is actually no value in the date field, we should change label into: "תאריך פרסום לא ידוע", but this should be a real edge case scenario, as usually we have the date.
Make both icons clickable as well.
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
Open Office Tender (WHERE tender_type = 'central' AND decision='בתוקף'
)
No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | any of the fields | none | if a value changed during TODAY <= LAST_UPDATE_DATE + 7 days value should be עודכן! , if TODAY <= START_DATE + 7 value should be חדש! |
do not use the decision field value here, as it is not reflecting what we intend to show with this label. |
2 | decision |
none | מכרז פתוח : based on the decision field: if decision == בתוקף |
|
3 | LAST_UPDATE_DATE |
עדכון אחרון |
date | dd.mm.yyyy |
4 | START_DATE |
פרסום ראשון |
date | dd.mm.yyyy |
5 | page_title (transformed) |
take out the 'מכרז XXXX:', we should transform other types of tenders titles (RFI or Group Agreements) | BOLD | |
6 | decision |
none | based on the decision בםמאקמא |
|
7 | none | מנהל הרכש הממשלתי |
||
8 | quarterly_contract_spending_reports.supplier_name |
none | A. if the tender_id appears in quarterly_contract_spending_reports.manof_ref and count('supplier_name') == 1 , display supplier_name ). B. if count('supplier_name') > 2, display [num] ספקים`. C. Otherwise, leave empty |
|
9a | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
pie chart | ||
9b | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
'עד כה בוצעו...% מתוך:` | exectued / volume |
dd% (round result). Notice this formula should relate to ALL relevant suppliers (using manof_ref ) |
9c | quarterly_contract_spending_reports.executed |
none | sum of all exectued values for the relevant manof_ref |
add NIS symbol to value |
10 | SUBJECTS |
label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic | ||
11 | 'description' | תיאור | ||
12a | tender_id |
מספר מנו"ף | tender_id |
|
12b | REGULATION |
סוג: | if RFI --> בקשת מידע , if 'מכרז'--> מכרז מרכזי', if 'הסכם מסגרת' --> הסכם מסגרת |
|
12c | CLAIM_DATE |
מועד סגירה: ... בשעה... | dd.mm.yyyy + HH:MM: | |
12d | CONTACT |
אנשי קשר: | email adresses should be clickable and open user's email client | |
13a | actionable A # | to be handled on a follow #51 | ||
13b | actionable B # | to be handled on a follow #51 | ||
14 | (table intro) | table headers : הזוכים במכרז , סכום ההתקשרות , עד כה שולם |
values in this block are to be calculated by the intersection between current tender_id and quarterly_contract_spending_reports.manof_ref . Table should be sorted by the value amount (13b) in a decreasing order (biggest value, first row) |
|
14a | quarterly_contract_spending_reports.supplier_name |
in the future it would be linked to future entity page, currently nothing special | ||
14b | quarterly_contract_spending_reports.volume |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.volume of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
14c | quarterly_c quarterly_contract_spending_reports.executed` |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.executed of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
14d | link to the relevant התקשרות page | |||
15 | (table intro) | table shows chronological history of the tender, in a reversed order. Two type of updates to be included: tender status change (bolded), payment (taken from the quarterly report) (bolded row), uploading/updating file (normal text for the entrie row) | ||
15a | quarterly_c quarterly_contract_spending_reports.volume, quarterly_cquarterly_contract_spending_reports.executed |
no headers | pie chart of the executed out of the total volume |
the pie chart refers to the tender's total exectued out of the total approved values, not to be confused with 13 above |
15b | (update date -- from either quarterly_c quarterly_contract_spending_reportsor procurement_tenders` |
if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
||
15c | quarterly_contract_spending_report.PAGE_URL or quarterly_contract_spending_reports.REPORT-URL |
don't show address, just display the icon with a relevant link | to be opened in a new tab | |
15d | update message | needs to set logic to be handled in a separate issue, to be hanled in #52 | ||
16 | grid intro, based on procurement_tenders.DOCUMENTS |
הוראות שעה וקבצים מצורפים |
||
16a | update_time |
none | (update date -- from either quarterly_contract_spending_reports or procurement_tenders ) if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
|
16b | icon + file name | icon to be set by the file type extention (doc/pdf/xls/csv), each element should be linked to the link address. If the number of elements is bigger than 3, start a new row of elements |
for example 598403/central/Goods-19-2017
This issue to include queries definitions for:
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
FROM procurement_tenders_exemptions_processed
)No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | decision |
none | translatae decision by the doc coumns c-->d | this is the sorten version of the decision (2-3 words) |
2 | decision |
none | translatae decision by the doc coumns c-->e | this is the sorten version of the decision (2-3 words) |
3 | publication_id ,quarterly_contract_spending_reports.supplier_name |
A. if the publication_id appears in quarterly_contract_spending_reports and count('supplier_name') == 1, display supplier_name). B. if count('supplier_name') > 2, display[num] ספקים`. C. Otherwise, leave empty |
||
3 | decision , page_title |
מצב נוכחי |
page_title +", "+decision (raw text) |
|
4 | reason |
סיבות בקשת הפטור |
||
5 | ספק/ים |
<no change with the rest of the properties, label only> | ||
7 | not relevant |
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
Open Office Tender (WHERE tender_type = 'central' AND decision='בתוקף'
)
No. | data source | label | value / logic | comments |
---|
1 | any of the fields |none| if a value changed during TODAY <= LAST_UPDATE_DATE + 7 days
value should be עודכן!
, if TODAY <= START_DATE + 7
value should be חדש!
| do not use the decision
field value here, as it is not reflecting what we intend to show with this label. | Don't use the raw value of the decision
field, as it does not consist the required logic! |
2 | decision
| none | מכרז פתוח
: based on the decision
field: if decision
== בתוקף
||
3 | LAST_UPDATE_DATE
| עדכון אחרון
| date | dd.mm.yyyy |
4 | START_DATE
| פרסום ראשון
| date | dd.mm.yyyy |
5 | page_title
(transformed) | | take out the 'מכרז XXXX:', we should transform other types of tenders titles (RFI or Group Agreements) | BOLD |
6 | decision
| none | based on the decision
בםמאקמא ||
7 | | none | | מנהל הרכש הממשלתי
| |
8 | quarterly_contract_spending_reports.supplier_name
| none | A. if the tender_id
appears in quarterly_contract_spending_reports.manof_ref
and count('supplier_name') == 1
, display supplier_name
). B. if count('supplier_name') > 2, display
[num] ספקים. C. Otherwise, leave empty | 9a |
quarterly_contract_spending_reports.executed,
quarterly_contract_spending_reports.volume| | pie chart || 9b |
quarterly_contract_spending_reports.executed,
quarterly_contract_spending_reports.volume | 'עד כה בוצעו...% מתוך:
| exectued
/ volume
| dd% (round result). Notice this formula should relate to ALL relevant suppliers (using manof_ref
) |
9c | quarterly_contract_spending_reports.executed
| none | sum of all exectued
values for the relevant manof_ref
| add NIS symbol to value|
10 | SUBJECTS
| | label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic |
11 | 'description' | תיאור | | |
12a | tender_id
| מספר מנו"ף | tender_id
| |
12b | REGULATION
| סוג: | if RFI --> בקשת מידע
, if 'מכרז'--> מכרז מרכזי', if 'הסכם מסגרת' --> הסכם מסגרת
| |
12c | CLAIM_DATE
| מועד סגירה: ... בשעה... | | dd.mm.yyyy + HH:MM: |
12d| CONTACT
| אנשי קשר: | | email adresses should be clickable and open user's email client|
13a | actionable A # | | | to be handled on a follow #51 |
13b | actionable B # | | | to be handled on a follow #51 |
14 | (table intro) | table headers : הזוכים במכרז
, סכום ההתקשרות
, עד כה שולם
| values in this block are to be calculated by the intersection between current tender_id
and ``quarterly_contract_spending_reports.manof_ref. Table should be sorted by the
value` amount (13b) in a decreasing order (biggest value, first row) |
14a | `quarterly_contract_spending_reports.supplier_name` | | | in the future it would be linked to future entity page, currently nothing special |
14b | `quarterly_contract_spending_reports.volume`| none, add a NIS symbol | sum of `quarterly_contract_spending_reports.volume` of the concrete supllier under the concrete `manof_ref` | don't round result, display real number (up to 2 digits after demical point) |
14c | `quarterly_c`quarterly_contract_spending_reports.executed`| none, add a NIS symbol | sum of `quarterly_contract_spending_reports.executed` of the concrete supllier under the concrete `manof_ref` | don't round result, display real number (up to 2 digits after demical point) |
14d | | link to the relevant התקשרות page| |
15 | (table intro) | table shows chronological history of the tender, in a reversed order. Two type of updates to be included: tender status change (bolded), payment (taken from the quarterly report) (bolded row), uploading/updating file (normal text for the entrie row) | |
15a |`quarterly_c`quarterly_contract_spending_reports.volume`, `quarterly_c`quarterly_contract_spending_reports.executed` | no headers | pie chart of the `executed` out of the total `volume` | the pie chart refers to the tender's total exectued out of the total approved values, not to be confused with 13 above |
15b | (update date -- from either `quarterly_c`quarterly_contract_spending_reports` or `procurement_tenders` | | if date == Today --> `היום`, if Today - date <= 7 --> `ימים x לפני`, if Today- date < 4 weeks, divide days number by 7 --> `לפני כ-x שבועות`, otherwise: raw date (DD.MM.YYYY) | |
15c | `quarterly_contract_spending_report.PAGE_URL` or `quarterly_contract_spending_reports.REPORT-URL`| don't show address, just display the icon with a relevant link | | to be opened in a new tab|
15d | update message | | |needs to set logic to be handled in a separate issue, to be hanled in #52 |
16 | grid intro, based on `procurement_tenders.DOCUMENTS` | `הוראות שעה וקבצים מצורפים` | | |
16a | `update_time` | none | (update date -- from either `quarterly_contract_spending_reports` or `procurement_tenders`) if date == Today --> `היום`, if Today - date <= 7 --> `ימים x לפני`, if Today- date < 4 weeks, divide days number by 7 --> `לפני כ-x שבועות`, otherwise: raw date (DD.MM.YYYY) ||
16b | icon + file name | | icon to be set by the file type extention (doc/pdf/xls/csv), each element should be linked to the `link` address. If the number of elements is bigger than 3, start a new row of elements |
Cases:
Follow up of #71:
(taken from http://next.obudget.org/i/tenders/central/553418/technology-2-2014?li=15)
followup of #72:
fix the flow pie charts:
If there is not transactions in the step, keep the previous pie chart
In case there is a single supplier, we better omit the percentages column (it will always be 100%) - as it is confusing, when looking at the top right corner of the screen.
Another alternative is to add a table header, but I could not think of a short and clear definition, and therefore would recommend on the conditional display.
Edit app/descriptors/org/budget/*/text-template.html to make them more descriptive and include all information that we have regarding the budget item.
Take into account the differences between 2-digit items, 4-digit items etc. to customise the text to the hierarchy.
Modify the file descriptors/org/questions.json to add the following:
סך התמיכות שהארגון קיבל, לפי שנה) לפי סה״כ כספים ששולמו/אושרו בשנה כלשהי/כלל השנים
כלל ההתקשרויות עם הארגון (מסודרות לפי שנה ותקנה תקציבית) שהתחילו/שהן פעילות בשנה כלשהי/כלל השנים
התקנות מולן יש לארגון התקשרויות, לפי היקף/סה״כ כספים ששולמו שהתחילו/שהן פעילות בשנה כלשהי/כלל השנים
סך ההתקשרויות שיש לארגון (לפי שנה), לפי היקף/סה״כ כספים ששולמו שהתחילו/שהן פעילות בשנה כלשהי/כלל השנים
כלל הפטורים ממכרז עם הארגון (מסודרים לפי היקף), מסיבה מסוימת/כלל הסיבות שהתחילו/שהם פעילים בשנה כלשהי/כלל השנים
Modify descriptors/budget/.../questions.json to answer these questions:
currently, we have the aggregated executed amount of payments per order_id + manof_ref.
We need to know per row the exact amount that has been transferred (paid). We can do so by subtracting the current executed amount from the previous (last transaction/reported row) executed.
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | any of the fields | none | if a value changed during TODAY <= LAST_UPDATE_DATE + 7 days value should be עודכן! , if TODAY <= START_DATE + 7 value should be חדש! |
do not use the decision field value here, as it is not reflecting what we intend to show with this label. |
2 | decision |
none | מכרז שנסגר : based on the decision field: if decision == הסתיים |
other values to be handled in separate issues |
3 | LAST_UPDATE_DATE |
עדכון אחרון |
date | dd.mm.yyyy |
4 | START_DATE |
פרסום ראשון |
date | dd.mm.yyyy |
5 | DESCRIPTION |
BOLD | ||
6a | decision |
none | הושלם תהליך הרכש : based on the decision field: if decision == `הסתיים. |
notice 2nd part of the label, see 6b |
6b | quarterly_contract_spending_reports |
none | three options, based on the procurement status: הושלם תהליך הרכש - לא החלה התקשרות , הושלם תהליך הרכש - החלה התקשרות , הושלם תהליך הרכש והושלמה ההתקשרות |
notice 6b can appear only after 6a has happened |
7 | PUBLISHER |
none | in the future it should be clickable and lead to a publisher entity page, currently simple text | |
8 | quarterly_contract_spending_reports.supplier_name |
none | A. if the tender_id appears in quarterly_contract_spending_reports.manof_ref and count('supplier_name') == 1 , display supplier_name ). B. if count('supplier_name') > 2, display [num] ספקים`. C. Otherwise, leave empty |
|
9a | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
pie chart | ||
9b | quarterly_contract_spending_reports.executed , quarterly_contract_spending_reports.volume |
'עד כה בוצעו...% מתוך:` | exectued / volume |
dd% (round result). Notice this formula should relate to ALL relevant suppliers (using manof_ref ) |
9c | quarterly_contract_spending_reports.executed |
none | sum of all exectued values for the relevant manof_ref |
add NIS symbol to value |
10 | SUBJECTS |
label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic | ||
11a | tender_id |
מספר מנו"ף | tender_id |
|
11b | tender_type |
סוג המכרז: | if tender_type == office --> משרדי |
|
11c | CLAIM_DATE |
מועד סגירה: ... בשעה... | dd.mm.yyyy + HH:MM: | |
11d | CONTACT |
אנשי קשר: | email adresses should be clickable and open user's email client | |
12a | actionable A # | to be handled on a follow #51 | ||
12b | actionable B # | to be handled on a follow #51 | ||
13 | (table intro) | table headers : הזוכים במכרז , סכום ההתקשרות , עד כה שולם |
values in this block are to be calculated by the intersection between current tender_id and quarterly_contract_spending_reports.manof_ref . Table should be sorted by the value amount (13b) in a decreasing order (biggest value, first row) |
|
13a | quarterly_contract_spending_reports.supplier_name |
in the future it would be linked to future entity page, currently nothing special | ||
13b | quarterly_contract_spending_reports.volume |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.volume of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13c | quarterly_c quarterly_contract_spending_reports.executed` |
none, add a NIS symbol | sum of quarterly_contract_spending_reports.executed of the concrete supllier under the concrete manof_ref |
don't round result, display real number (up to 2 digits after demical point) |
13d | link to the relevant התקשרות page | |||
14 | (table intro) | table shows chronological history of the tender, in a reversed order. Two type of updates to be included: tender status change (bolded), payment (taken from the quarterly report) (bolded row), uploading/updating file (normal text for the entrie row) | ||
14a | quarterly_c quarterly_contract_spending_reports.volume, quarterly_cquarterly_contract_spending_reports.executed |
no headers | pie chart of the executed out of the total volume |
the pie chart refers to the tender's total exectued out of the total approved values, not to be confused with 13 above |
14b | (update date -- from either quarterly_c quarterly_contract_spending_reportsor procurement_tenders` |
if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
||
14c | quarterly_contract_spending_report.PAGE_URL or quarterly_contract_spending_reports.REPORT-URL |
don't show address, just display the icon with a relevant link | to be opened in a new tab | |
14d | update message | needs to set logic to be handled in a separate issue, to be hanled in #52 | ||
15 | grid intro, based on procurement_tenders.DOCUMENTS |
קבצים מצורפים |
||
15a | update_time |
none | (update date -- from either quarterly_contract_spending_reports or procurement_tenders ) if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
|
15b | icon + file name | icon to be set by the file type extention (doc/pdf/xls/csv), each element should be linked to the link address. If the number of elements is bigger than 3, start a new row of elements |
We want the page title to be indexed correctly in search engines, as well as contain some semantic information.
The solution is to query the referenced document on the server side and render the returned document to contain:
follow-up of #47
..
Defining critera:
FROM procurement_tenders
WHERE tender_type = 'office' AND decision='בוטל'
(Invisoin link: https://projects.invisionapp.com/d/main#/console/7587193/276178413/preview )
No. | data source | label | value / logic | comments |
---|---|---|---|---|
1 | LAST_UPDATE_DATE + DECISION |
none | if the update date of the decision into 'בוטל' was during the last 7 dates, show label | otherwise don't show anything in the block |
2 | decision |
none | מכרז שבוטל |
|
3 | LAST_UPDATE_DATE |
עדכון אחרון |
date | dd.mm.yyyy |
4 | START_DATE |
פרסום ראשון |
date | dd.mm.yyyy |
5 | DESCRIPTION |
BOLD | ||
6 | show nothing | |||
7 | PUBLISHER |
none | in the future it should be clickable and lead to a publisher entity page, currently simple text | |
8 | none | המכרז בוטל | ||
9(a-c) | show nothing | |||
10 | SUBJECTS |
label per each value. Each label should be linked to a search results page of procurement_tenders from the same topic | ||
11a | tender_id |
מספר מנו"ף | tender_id |
|
11b | tender_type |
סוג המכרז: | if tender_type == office --> משרדי |
|
11c | `` | מועד סגירה: ... בשעה... | dd.mm.yyyy + HH:MM: | |
11d | CONTACT |
אנשי קשר: | email adresses should be clickable and open user's email clien | |
12 | show nothing | |||
13 (a-d) | show nothing | |||
14 | (table intro) | table shows a chronological history of the tender, in a reversed order. In this scenario we are focused only of tender status change (bolded), or uploaded/updated files (normal text for the entrie row) | ||
14a | show nothing | |||
14b | (update date -- @akariv please add the right data source to implement | if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
||
14c | quarterly_contract_spending_reports.REPORT-URL |
don't show address, just display the icon with a relevant link | to be opened in a new tab | |
14d | update message | needs to set logic to be handled in a separate issue, to be hanled in #52 | ||
15 | grid intro, based on procurement_tenders.DOCUMENTS |
קבצים מצורפים |
||
15a | update_time |
none | (update date -- from either quarterly_contract_spending_reports or procurement_tenders ) if date == Today --> היום , if Today - date <= 7 --> ימים x לפני , if Today- date < 4 weeks, divide days number by 7 --> לפני כ-x שבועות , otherwise: raw date (DD.MM.YYYY) |
|
15b | icon + file name | icon to be set by the file type extention (doc/pdf/xls/csv), each element should be linked to the link address. If the number of elements is bigger than 3, start a new row of elements |
The table below includes potential updates to the office tender's page chornological block:
bold text | trigger | label |
---|---|---|
+ | Last_update_date == Start_date |
פורסם המכרז |
- | Last_update_date > Start_date + new file added |
[פורסם הקובץ + [שם הקובץ |
+ | Last_update_date > Start_date + Decision value changed to 'בוטל' |
המכרז בוטל |
+ | Last_update_date > Start_date + Claim_Date value changed |
שינוי תאריך סגירת המכרז |
+ | Last_update_date > Start_date + Decision value changed + Today_Datae > Claim_date |
המכרז נסגר |
+ | quarterly_contract_spending_reports.supplier_name.manof_ref == tender_id + documented payment |
תשלום [סכום] ש"ח ([אחוז]% מהסכום |
a.t.m. it's more or less random.
we want to select a single combination of filters which will be shown by default.
(taken on http://next.obudget.org/i/tenders/central/553418/technology-2-2014?li=15)
Anyhow, we can not show the 'N/A'
Might be relevant for exemptions and office tenders as well (could tell what's the trigger for this behaviour)
Edit app/descriptors/org/association/text-template.html to make it more descriptive and include all information that we have regarding a company.
Add a descriptors/supports/questions.json which implements the following questions:
Actual:
npm run dist-serve
)descriptors/
npm run dist-serve
Expected:
Analysis:
Seems that after a refresh, the returned index.html
is an old version and not the updated version (with the updated scripts).
For some predefined scenarios of the process (i.e. procurement_tenders+quarterly spending, we should display user possible actions they can take in the real world. Notice the static text should consist also dynamic (relevant) links for the specific entities.
We should enable up to two actionable recommendations (A and B).
This issue is to define the data structure for the new mechanism, in a way that will enable us to use it also on other spots in the OpenBudget Project (i.e. not only on tenders).
Edit app/descriptors/org/company/text-template.html to make it more descriptive and include all information that we have regarding a company.
at the moment, the headers are alphabetically ordered.
all links to other budgetkey apps should contain theme param
https://projects.invisionapp.com/d/main#/console/7587193/253951995/preview
optional filters: "הכל", "מכרזים","מכרזים משרדיים","מכרזים מרכזיים","פטור ממכרז","התקשרויות". notice: מכרזים will incldue both מכרזים משרדיים and מכרזים מרכזיים
time filter. label: "מועד פרסום", options: שבוע אחרון, חודש אחרון, שנה אחרונה, הכל, טווח תאריכים לבחירתך.
cancel the time graph.
4-7: search results items sorting logic:
4-6(a): type
4-6(b): description
4-6(c): publisher
4-6(d): supplier(s). add +[number] if more than one.
4-6(e): 8(e): label: אופן הרכש:, value: accessilbe (long) version of purchase_method
, as implemented on #68.
4-6(f): (optional): approved amount, don't remember to add ILS and to omit the decimal fraction.
4-6(g): start date - [optional: end date]. if now end date, leave empty space after '-'
7 (not in the demo) התקשרות item:
7(a) התקשרות
7(b) purpose
7(c) publisher
,purchasing unit
(like in #67).
7(d) (optional), supplier
(s) - add + [number] if more than one. show the supplier with the biggest approved/executed amount.
8(e): label: סיבת הפטור, value: accessible (long) version, as implemented on #68.
8(f): (optional): approved amount, don't forget to add ILS and to omit the decimal fraction.
8(g): start date - [optional: end date] (end date to be shown only if the status has changed to inactive, otherwise show "התקשרות פעילה")
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.