Using users directly instead of companies as customers

Moderator: crythias

Post Reply
jbaptiste
Znuny advanced
Posts: 104
Joined: 01 Aug 2015, 03:45
Znuny Version: 6.0.x
Contact:

Using users directly instead of companies as customers

Post by jbaptiste »

Hi,

On a new project I'm working on I'm setting up an OTRS for a small residential ISP, using an external DB backend for the customer information. On this case their customers are the final users that use their services at home (internet, phone, tv, etc), not the usual Company with users which is the default configuration of OTRS. So far I have done the following to adjust OTRS to these needs:
  1. Copy CustomerUser section of Default.pm to Config.pm and on it change CustomerCompanySupport = 0. This removes the Agent's interface menu entry Customer Administration from the Customers top menu.
  2. On SysConfig un checked
    • Frontend::Module###AdminCustomerCompany to remove the Customer option on the admin interface.
    • Frontend::Module###AdminCustomerUserGroup to remove the Customer<->Groups option on the admin interface.
    • On Frontend::Module###AdminCustomerUserGroup removed the group Company Tickets to remove the Company Tickets menu option on the Tickets menu on the customer frontend.
    So far so good. But still after doing all of this, when adding a customer user, a CustomerID is still required. So this prompt me the following questions on how should be the best approach to handle the CustomerID, I was thinking about these options:
    1. Put all users under the same CustomerID, as they are all customers of the same company (the ISP). With this option I have have the following concerns:
      • Could any customer see other users tickets from the customer interface ? I just found the option Ticket::Frontend::CustomerDisableCompanyTicketAccess which I think would do the trick.
      • As in the customer add page the CustomerID field is mandatory, is there a way to pre-fill it with a default value (preferably read-only), or remove it from that page and put a fixed value on the fields mapping on CustomerUser settings as described here ?
    2. Put each user under his own "Company" as it happens when an unknown user writes to OTRS and the email address is used as the CustomerID. Could it be done using the mapping and instead of mapping to customer_id, map to email ?
Any thoughts ?
Want to run OTRS on docker ? checkout my OTRS on docker HOWTO | Project's github page
jbaptiste
Znuny advanced
Posts: 104
Joined: 01 Aug 2015, 03:45
Znuny Version: 6.0.x
Contact:

Re: Using users directly instead of companies as customers

Post by jbaptiste »

Well I ended up doing a mix of the two options, I'm mapping the CustomerID field to the email field and setting that field read only. The only thing missing that I haven't been able to do is to make it not visible on the Customer User Administration page. Any ideas on that last one ?
Want to run OTRS on docker ? checkout my OTRS on docker HOWTO | Project's github page
jbaptiste
Znuny advanced
Posts: 104
Joined: 01 Aug 2015, 03:45
Znuny Version: 6.0.x
Contact:

Re: Using users directly instead of companies as customers

Post by jbaptiste »

jbaptiste wrote:Well I ended up doing a mix of the two options, I'm mapping the CustomerID field to the email field and setting that field read only. The only thing missing that I haven't been able to do is to make it not visible on the Customer User Administration page. Any ideas on that last one ?
I fixed the last one by commenting the CustomerID mapping that I thought it was mandatory beacuse of an inline comment that says "# note: Login, Email and CustomerID needed!", but I commented the CustomerID mapping line, rebuilt the config and that line was hidden as I expected, and everything seems to be working fine.
Want to run OTRS on docker ? checkout my OTRS on docker HOWTO | Project's github page
jbaptiste
Znuny advanced
Posts: 104
Joined: 01 Aug 2015, 03:45
Znuny Version: 6.0.x
Contact:

Re: Using users directly instead of companies as customers

Post by jbaptiste »

jbaptiste wrote:
jbaptiste wrote:Well I ended up doing a mix of the two options, I'm mapping the CustomerID field to the email field and setting that field read only. The only thing missing that I haven't been able to do is to make it not visible on the Customer User Administration page. Any ideas on that last one ?
I fixed the last one by commenting the CustomerID mapping that I thought it was mandatory beacuse of an inline comment that says "# note: Login, Email and CustomerID needed!", but I commented the CustomerID mapping line, rebuilt the config and that line was hidden as I expected, and everything seems to be working fine.
This doesn't work as it breaks the customer interface, when an user logs in an error appears saying that CustomerID is needed:

Code: Select all

Message: Need CustomerID!
Want to run OTRS on docker ? checkout my OTRS on docker HOWTO | Project's github page
Post Reply