James,
One thing to always remember: Whatever you are trying to do, there is a
good chance someone else has already done it. Looking up a party
relationship is a very common requirement, so there is no need to hack
up the source code to do it. Just spend some time looking at the current
implementations - chances are it already exists.
-Adrian
On 2/14/2013 9:39 AM, Malin Nicolas wrote:
Hi
You can create a view-entity between Person - PartyRelationship -
PartyGroup with non optional relation and a entity-condition on
partyRelationshipTypeId = EMPLOYMENT
See applications/humanres/entitydef/entitymodel.xml for example.
Nicolas
Le 14/02/2013 00:09, James Piechota a écrit :
Hi,
What's the recommended approach to getting a list of Persons and the
Party
Group that they are in an EMPLOYMENT relationship with?
Some context:
Since a Person can be on either end of a PartyRelationship the SQL query
I've cooked up involves Left Joins with OR conditions.
I've been unable to do this with a view-entity since the view-links
seem to
require at least one AND in any boolean condition (i.e., they require at
least one key-map which gets AND'ed with any provided
entity-conditions).
I've edited my local install to relax the view-link requirements so that
they just require *some* condition whether from a key-map,
entity-condition
or both. If there isn't a recommended approach to the above, I can look
into opening a JIRA issue and attaching a patch.
For reference, this is the sort of SQL query I've been trying to build:
select PERSON.FIRST_NAME, PARTY_GROUP.GROUP_NAME
from PERSON
left outer join PARTY_RELATIONSHIP
on (PERSON.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_FROM or
PERSON.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_TO) and
PARTY_RELATIONSHIP.PARTY_RELATIONSHIP_TYPE_ID = 'EMPLOYMENT'
left outer join PARTY_GROUP
on (PARTY_GROUP.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_FROM or
PARTY_GROUP.PARTY_ID = PARTY_RELATIONSHIP.PARTY_ID_TO) and
PARTY_RELATIONSHIP.PARTY_RELATIONSHIP_TYPE_ID = 'EMPLOYMENT'