Difference between revisions of "Draft:Module Partnership management"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
Tag: 2017 source edit
Line 5: Line 5:
  
  
= Module Partnership management =
+
=Module Partnership management=
 
The module name and path will be "partnership".
 
The module name and path will be "partnership".
  
Line 12: Line 12:
 
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.
  
= Setup of module =
+
=Setup of module=
 
We choose if the partnership is for a 'thirdparty' or for a 'member' (option named PARTNERSHIP_IS_MANAGED_FOR).
 
We choose if the partnership is for a 'thirdparty' or for a 'member' (option named PARTNERSHIP_IS_MANAGED_FOR).
  
= New object Partnership table =
+
=New object Partnership table=
  
 
Properties:
 
Properties:
  
* rowid autoincrement
+
*rowid autoincrement
* fk_soc            ID of thirdparty
+
*fk_soc            ID of thirdparty
* fk_member        ID of member
+
*fk_member        ID of member
* date_partnership_start
+
*date_partnership_start
* date_partnership_end
+
*date_partnership_end
* status            Partnershio partnership  (0=draft, 1=accepted, 2=refused, 9=canceled)
+
*status            Partnershio partnership  (0=draft, 1=accepted, 2=refused, 9=canceled)
* date_creat
+
*date_creat
* fk_user_create
+
*fk_user_create
* tms
+
*tms
* fk_user_update
+
*fk_user_update
* note_private
+
*note_private
* note_publice
+
*note_publice
* reason_decline
+
*reason_decline
  
 
Allow extrafields. (For example, for the Dolibarr foundation: "Github user", "Website")
 
Allow extrafields. (For example, for the Dolibarr foundation: "Github user", "Website")
  
  
= Menus =
+
=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'):
+
 
 +
*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
 
  - Partnership
 
     - List
 
     - List
 
     - New
 
     - New
  
= On the member Tab partnership on a member and thirdparty =
+
=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')
 
Show a form (on record thirdparty if PARTNERSHIP_IS_MANAGED_FOR = 'thirdparty') or on record of member (if PARTNERSHIP_IS_MANAGED_FOR = 'member')
Line 51: Line 53:
  
  
= Card partnership =
+
=Card partnership=
  
 
On the page to show a partnership we have a button
 
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 =
+
*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'n add a column on list of partnership to show the date of membership expiration.
+
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.
  
Add a mass action "Send email"
+
We must have the mass action "Send email"
  
Add a mass action "Cancel"
+
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 =
+
=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.
 
On a new member subscription (module member), we currently send an email with invoice automaticaly after receiving the online payment.
Line 77: Line 81:
 
Add a mass action "Create external user" on the member list
 
Add a mass action "Create external user" on the member list
  
= Permissions =
+
=Permissions=
* read (Read partnership table)
+
Permission supplied by module "Partnership"
* create/modify (Create/modify partnership)
+
 
* delete (Delete a partnership)
+
*read (Read partnerships)
 +
*create/modify (Create/modify partnerships)
 +
*delete (Delete partnerships)
  
  
= Note =
+
=Note=
 
Module and new managed objects must be generated with modulebuilder.
 
Module and new managed objects must be generated with modulebuilder.

Revision as of 10:13, 10 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.


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.

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 Partnershio partnership (0=draft, 1=accepted, 2=refused, 9=canceled)
  • date_creat
  • fk_user_create
  • tms
  • fk_user_update
  • note_private
  • note_publice
  • reason_decline

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)


Note

Module and new managed objects must be generated with modulebuilder.