Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>In any CRM application, User and Client there are similarities and differences between them. Let's put some details</p> <p><strong>The Similarities</strong></p> <ul> <li>Both of Users and Clients share various attributes, especially those related to personal information (name, contact info, ...etc.)</li> <li>Both (mostly) represent one and only one person who has a relation to the system. One obvious exception are system users.</li> </ul> <p><strong>The Differences</strong></p> <ul> <li>A user accesses the system. This implies security needs such as authentication, identification and authorization, which in turn implies some validation (passwords, certificates, ...etc)</li> <li>In CRM, a Client usually has various relationships such as with Account, Company, Team, Account Manager, and others, a User doesn't. Even though this is not handled by the model, but you might choose to do some model-level validations on some fields</li> </ul> <p>Therefore, the choice of separating Users and Clients in two different models, combining them, or subclassing from a parent is a choice based on your actual need. There are some systems (such as <a href="https://www.openerp.com/" rel="nofollow">OpenERP</a>, if I remember correctly) treat Client and User in the same manner, while defining an <code>is_system_user</code> property. Personally I'd choose to separate them for the differences mentioned and for security reasons. If you're not sure about your need, it's safer (while not DRY'er) to separate them.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload