Difference between revisions of "Draft:Module Partnership management"
m (→Batch) Tags: Mobile web edit Mobile edit |
Tags: Mobile web edit Mobile edit |
||
Line 35: | Line 35: | ||
*note_private | *note_private | ||
*note_publice | *note_publice | ||
− | * | + | *reason_decline_or_cancel |
Allow extrafields. (For example, for the Dolibarr foundation: "Github user", "Website") | Allow extrafields. (For example, for the Dolibarr foundation: "Github user", "Website") |
Revision as of 10:08, 13 September 2020
(Draft page, no need to be translated) This is a draft on how the module "Partnership management" can be designed.
This module can be used to receive request by a company to be a preferred partner. Validate, follow and cancel partnership. The module is generic and it will be possible to use it for a lot of use case.
Module Partnership management
The module name and path will be "partnership".
The module add a new table llx_partnership
The module also add a new tab "Partnership" on the record of a thirdparty or a member (depending on setup). So a logged user can make a request and see its partnership status from its own thirdparty or member record.
A batch can disable the status of a partnership if partnership is based on members and if subscription has expired since x days.
Setup of module
We choose if the partnership is for a 'thirdparty' or for a 'member' (option named PARTNERSHIP_IS_MANAGED_FOR).
New object Partnership table
Properties:
- rowid autoincrement
- fk_soc ID of thirdparty
- fk_member ID of member
- date_partnership_start
- date_partnership_end
- status Partnership status (0=draft, 1=accepted, 2=refused, 9=canceled)
- date_creat
- fk_user_create
- tms
- fk_user_update
- note_private
- note_publice
- reason_decline_or_cancel
Allow extrafields. (For example, for the Dolibarr foundation: "Github user", "Website")
Menus
- Enabling the module will also add menu entries into thirdparty menu (if PARTNERSHIP_IS_MANAGED_FOR = 'thirdparty') or into member menu (if PARTNERSHIP_IS_MANAGED_FOR = 'member'):
- Partnership - List - New
On the member Tab partnership on a member and thirdparty
Show a form (on record thirdparty if PARTNERSHIP_IS_MANAGED_FOR = 'thirdparty') or on record of member (if PARTNERSHIP_IS_MANAGED_FOR = 'member') to request to be a partner if there is no record into table llx_partnership yet.
If there is already a record, show the status and information of membership. On this tab, e should also have a button "Cancel"
Card partnership
On the page to show a partnership we have a button
- Send email using templates. The module must add 2 templates of email for type 'partnership': On to say partnership is refused, one to say partnership is accepted.
- Accept -> Set to status ACCEPTED.
- Refuse -> Ask a reason and set to status REFUSED and fill the "reason_decline" field.
- Cancel
- Delete
On the list of partnership
If PARTNERSHIP_IS_MANAGED_FOR = 'member', we add a column on list of partnership to show the date of membership expiration. We must be able to sort on this date.
We must have the mass action "Send email"
We must have the mass action "Cancel"
We must have the mass action "Delete"
Enhance module Member to creating an external user login for each new member subscription
On a new member subscription (module member), we currently send an email with invoice automaticaly after receiving the online payment.
We must also create an external account for each new member and have the login and pass of the external account included into email (A subsitution key __MEMBER_USER_LOGIN_INFORMATION__ can be used into email template).
Add a mass action "Create external user" on the member list
Permissions
Permission supplied by module "Partnership"
- read (Read partnerships)
- create/modify (Create/modify partnerships)
- delete (Delete partnerships)
Batch
Cancel Partnership For Expired Members: We must have a cron job that cancel status of partnership when subscription is expired + x days (x is a parameter of the cron job). This cron task must be supplied by module. If option 'PARTNERSHIP_IS_MANAGED_FOR' = 'thirdparty', this cron job does nothing.
Warning of partnership if Dolibarr backlink not found on partner website: Batch not enabled by default. Every week, check that website contains a link to dolibarr.(org/fr/es) Web site. The url to check is a parameter of module. If not, batch increase a counter check fail (extrafield of partnership). If counter > 2, send email to partner (template email mut be defined in setup). If counter > 4, set status of partnership to canceled (set also reason of partnership cancelation).
Note
Module and new managed objects must be generated with modulebuilder.