-
Notifications
You must be signed in to change notification settings - Fork 0
AnA15S01CustomerIncommingCommunicationsLists
TWiki>
LibrePlan Web>AnA15S01CustomerIncommingCommunicationsLists (11 Sep 2012, JavierMoran)EditAttach
| Story summary | Incomming communications lists |
| Iteration | AnA15SubcontractorModule |
| FEA | AnA15S01CustomerIncommingCommunicationsLists |
| Story Lead | |
| Next Story | |
| Passed acceptance test | No |
This set of tasks are related to have a log about the the communications received related to the subcontracting module. From the side of the receiver, at this moment are implicit the following communications:
- When a subcontractor receives the communication of a new project to be developed.
- When the customer receives the progres communication from the subcontractor.
The task consists in first place in modifying the process of importing a project in order to register that, in the case the this importing were a subcontracting project, there is an incoming communication to be showed to the user.
We know that a project is subcontracted because has the field external_code filled. So, this criterion must be used in the process of importation.
In the import service, therefore, if it is the import of a subcontracted project, it will be needed to store this communication in a new entity. The entity will be called CustomerCommunication. It will have the following fields.
- Project Deadline. Project deadline specified by the customer
- Communication Type. It will be an enum with the communication type exchanged. At this type the enum will have only one value New Project
- Communication Date. Date at which happens the communication.
- Reviewed. It will be a boolean.
The entity CustomerCommunication will have a relation N:1 with the entity Order.
It will be created a page under the menu entry Resources -> Subcontracting called Customer subcontracted projects communications.
There will be rendered a list with the following columns. The list will be obtained querying all the CustomerCommunication of this entity.
| Communication Type | Project Name | Deadline | Project Code | Customer | Communication Date | Reviewed | Operations |
The data that will be in each column is the following:
-
Communication Type. Got from
CustomerCommunication -
Project Name. Name of the project, got from associated
Orderto theCustomerCommunicationentity -
Deadline. Got from
Order -
Project Code. Code of the project hired. Got from
Order. -
Customer. Name of the customer who hires the project. Got through
CustomerCommunication. -
Communication Date. Date the communication happened. Got from
CustomerCommunication. -
Reviewed. Checkbox showing that the line was reviewed. Got from
CustomerCommunication. - Operations. Edit button. On pressing on it, it is opened the project details perspective of the project.
The list will be sortable by all the columns except the Reviewed and Operations column.
The list of of incoming projects communications has a column called Reviewed that will show if the communication interchange has already been processed or not by the user.
So, the behavior to implement is that on checking/unchecking each element of the list, this is saved in the database in a new boolean field in the CustomerCommunication object called subcontractingReviewed.
It is important to note that this window is different than others of the app. We do not to save all the list of incomming communications at once to the database. We want to do item by item at the moment of checking/unchecking the item.
Do not forget of updating the Liquibase database script.
Include a filter with the following format:
Filter by: Combo with two values [All, Not Reviewed]
By default the filter must have the vaule Not Reviewed selected. The effect wanted of this filter with the value Not Reviewed is that after checking a communication item as reviewed it is kept in the list. This should not be problem if we do not reload the list. On entering again it will disappear of course.
| User | Spent in XpTracker | Spent in phpReport | Ok? |
|---|---|---|---|
| SusanaMontes | 30 | 0 | ![]() |
| Total | 30 | 0 | ![]() |
Copyright (c) by the contributing authors. All material on this collaboration platform is the property of the contributing authors.