"it is quite logical here that people in each subdivision must know what
their colleagues do on behalf of sibdivision's work."
Yes, but they don't *have* to be told that it happens. Also, what's the
point? Can they do anything about it? No, they just get told "hey, somebody
replied to a ticket" ... The same information, if they cared, they could
see from OTRS. But they don't, because it's not their ticket.

"There are just not enough events"
Do tell. What kind of event is missing? Or, how many events do you need
before you consider "there are enough events"?

"processing of existing event is somewhat broken"
Ambiguous statement is ambiguous.

"Do you really propose sending dirty hacks as bugfixes? Seriously? (btw,
I've already had to fix another broken part, 'coz patch is, um, dirty). "
The alternative being to complain that it's not fixed correctly? Even if
the hack is "dirty", it's actually your responsibility to provide it to
anyone who asks who uses your code. (GPL)

Just because you hacked it doesn't mean that it has to be accepted and
incorporated as core code verbatim. You're not QC. You're simply giving
your version of, "I fixed it this way." Yes, provide the dirty hacks as
bugfixes. If it works for you, it might work for someone else. Until
something official/better comes along, your code *is* (likely) the best way
to handle it.

For Guarantees:
Kernel/Modules/CustomerTicketOverview.pm CompanyTickets searches CustomerID.
If the current user has a CustomerID or one of CustomerIDs, that matches
that stored with the ticket $Self->{UserObject}->CustomerIDs( User =>
$Self->{UserLogin} ), it will be shown in Company Tickets.

CustomerIDs is in Kernel/System/CustomerUser.pm and referenced in
CustomerUser/DB.pm and CustomerUserLDAP.pm
Whether delimited with semicolons, commas, or pipes:
        # used separators
        for my $Split ( ';', ',', '|' )
the values of customer_ids are obtained and then on that array, pushed the
CustomerID.of the current customer.
    # use also the primary customer id
    if ( $Data{UserCustomerID} && !$Self->{ExcludePrimaryCustomerID} ) {
        push @CustomerIDs, $Data{UserCustomerID};
    }

This array/list is then sent to the CustomerTicketOverview module, which
searches against that list.

"What happens if you change the customer_id in a historical ticket?" Not
much, ticket-wise. (This based also on personal experience). It won't
prevent a user from accessing her own ticket, but may change her
permissions regarding visibility in "Company Tickets"
"Do you think they'll change this paradigm?" No. Not that I'm 100% sure on
this, but considering how integral it is to accomplishing this goal, I
can't imagine that they'll change it any time soon.
Look at what the CustomerID *does*, especially with what happens when
CustomerCompanySupport is enabled. This is a critical function to just
arbitrarily change for the sake of "New version, let's just throw this
out."
"But no documentation" ok. read
this<http://doc.otrs.org/3.0/en/html/x2282.html#multi-customer-ids-db>and
then understand that the default mechanism of OTRS is that everyone
has
a different customer_id. There are essentially three ways to make "Company
Tickets" work in practice.
1) A real pain in the butt, but a Supervisor has a customer_ids field of
all the individual customer_id whom he watches.
2) Everyone in a company or department has the same customer_id (and sees
all everyone's-with-the-same-customer_id tickets in Company Tickets)
3) Everyone in a company or department has the same customer_id, but only
the Supervisor or Department Manager sees "Company Tickets"
(CustomerGroupMembership for access privileges) and multi-department
supervisors have customer_ids of departmentA,departmentB

Look at the code. If the result of "CustomerIDs" includes all of the
current customers' customer_ids (if exist) AND the customer_id, and this is
what's being used for TicketSearch for Company tickets.

OK, so the ability to reuse customer_id is undocumented. I figured it out,
so I'm sharing the knowledge. Until something official/better comes along,
my post is (likely) the best way to handle it.
---------------------------------------------------------------------
OTRS mailing list: otrs - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/otrs
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/otrs

Reply via email to