Line 4:
Line 4:
This module can be used to receive request by a company to be a preferred partner. Validate, follow and cancel partnership.
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.
The module is generic and it will be possible to use it for a lot of use case.
−
+
This module will be used for example by the foundation for its Preferred Partner management program.
Line 13:
Line 13:
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.
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=
=Setup of module=
Line 26:
Line 28:
*date_partnership_start
*date_partnership_start
*date_partnership_end
*date_partnership_end
−
*status Partnershio partnership (0=draft, 1=accepted, 2=refused, 9=canceled)
+
*status Partnership status (0=draft, 1=accepted, 2=refused, 9=canceled)
*date_creat
*date_creat
*fk_user_create
*fk_user_create
Line 33:
Line 35:
*note_private
*note_private
*note_publice
*note_publice
−
*reason_decline
+
*count_last_url_check_error (see later)
−
+
*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")
=Menus=
=Menus=
Line 51:
Line 53:
to request to be a partner if there is no record into table llx_partnership yet.
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.
+
If there is already record, show the status and information of memberships.
−
On this tab, e should also have a button "Cancel"
+
On this tab, we should also have a button "Manage Partnership"
−
=Card partnership=
=Card partnership=
Line 60:
Line 61:
*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.
*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.
+
*Validate
*Accept -> Set to status ACCEPTED.
*Accept -> Set to status ACCEPTED.
*Refuse -> Ask a reason and set to status REFUSED and fill the "reason_decline" field.
*Refuse -> Ask a reason and set to status REFUSED and fill the "reason_decline" field.
Line 75:
Line 77:
We must have the mass action "Delete"
We must have the mass action "Delete"
−
=Enhance module Member to creating an external user login for each new member subscription=
+
=Enhance module Member=
−
On a new member subscription (module member), we currently send an email with invoice automaticaly after receiving the online payment.
+
== Add property "url" on the member card==
+
Add this property on table llx_adherent, on screen and can edit it.
−
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 option in member module setup to "Create an external user login for each new member subscription validated" ==
+
On a new member subscription (module member), we currently send an email with invoice automatically after receiving the online payment.
−
Add a mass action "Create external user" on the member list
+
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 substitution key __MEMBER_USER_LOGIN_INFORMATION__ can be used into email template).
+
+
Add a mass action "Create external user" on the member list.
=Permissions=
=Permissions=
Line 91:
Line 97:
=Batch=
=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.
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.
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 regex set as a parameter of module. If regex not found into the website of partner, batch increase a counter check fail (field count_last_url_check_error into table llx_partnership), if found, reset value to 0. 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=
=Note=
−
Module and new managed objects must be generated with modulebuilder.
+
{{TemplateProcessOfDevelopmentBySubContract}}