You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by er...@apache.org on 2012/10/30 22:19:34 UTC

svn commit: r1403874 [2/7] - in /ofbiz/branches/20120329_portletWidget: applications/content/data/ applications/party/config/ applications/party/data/ applications/party/data/helpdata/EN/ applications/party/data/helpdata/FR/ applications/party/entityde...

Added: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationFroms.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationFroms.xml?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationFroms.xml (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationFroms.xml Tue Oct 30 21:19:31 2012
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version
+2.0 (the "License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+applicable law or agreed to in writing, software distributed under the
+License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for
+the specific language governing permissions and limitations under the
+License.
+-->
+<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+    xsi:schemaLocation="http://docbook.org/ns/docbook"
+    xmlns="http://docbook.org/ns/docbook">
+    <title>Liste des acteurs associés.</title>
+
+      <para>Cette portlet permet d'afficher les acteurs associés à l'acteur sélectionné. L'affichage et son comportement dependent de son
+            paramétrage.</para>
+      <para>Pour caractériser la relation entre deux acteurs, il faut préciser le "type de relation", le plus courament cette portlet est utilisé
+            pour un type de relation précis, par exemple 
+          <itemizedlist>
+            <listitem><para>"Contact", c'est à dire lister tous les contacts d'un commerciale ou chez un client;</para> </listitem>
+            <listitem><para>"Employé", c'est à dire lister tous les employées d'une société;</para></listitem>
+            <listitem><para>"Membre d'équipe", c'est à dire lister tous les membres d'une équipe ou d'un service;</para></listitem>
+            <listitem><para>...</para></listitem>
+          </itemizedlist>
+            </para>
+      <para>Pour une relation entre acteur, il est aussi possible de préciser le rôle de l'acteur associé, par exemple dans le cas du type de relation
+            "employé", le rôle permettra de détailler le rôle de l'employé dans la société. Le plus souvent ce champ n'apparait pas car il n'est pas nécessaire.</para>
+      <para>Un relation entre acteur posséde des date de validité (de .. jusqu'a ..), il est donc possible de garder un historique. Selon le paramétrage
+            il est aussi possible de supprimer une relation et dans ce cas l'historique ne sera pas conservé.</para>
+      <para>&amp;nbsp;</para>
+
+    <section>
+      <title>Les paramètre de la Portlet</title>
+      <itemizedlist>
+        <listitem><para>Titre de la portlet : Il faut indiquer un "uiLabel" (un code qui selon la langue donnera un libéllé), cela permet de personnaliser la portlet,
+            c'est surtout utile dès que cette portlet est utilisé plusieurs fois dans la même page. Demander à un consultant technique pour trouver le uiLabel
+            correspondant à votre besoin ou pour en définir un nouveau.</para> </listitem>
+        <listitem><para>Role type From : Si ce champ est renseigné, cela permet de filtrer la liste affiché et dans l'écran d'édition (ajout ou modification) ce sera la valeur utilisé, le champ role ne sera pas affiché à l'utilisateur. 
+            Habituellement, ce paramètre est laissé vide.</para></listitem>
+        <listitem><para>Groupe de role : Si le champ Role from est vide, indique le groupe de rôle parmi lequel l'utisateur choisira dans l'écran d'édition (ajout - modification). Le champ rôle d'origine sera alors affiché dans la liste</para></listitem>
+        <listitem><para>Type de relation (Party Relationship Type Id) : permer d'indiquer le type de relation à utiliser pour filtrer les relations à afficher, ou laisser le champ vide pour les afficher toutes et donc montrer ce champ.</para></listitem>
+        <listitem><para>Rôle de l'acteur associé (Role type To) : Si ce champ est renseigné, cela permet de filtrer la liste affiché et dans l'écran d'édition (ajout ou modification) ce sera la valeur utilisé, le champ role ne sera pas affiché à l'utilisateur.</para></listitem>
+        <listitem><para>Groupe de role : Si le champ Role To est vide, indique le groupe de rôle parmi lequel l'utisateur choisira dans l'écran d'édition (ajout - modification). Le champ rôle de destination sera alors affiché dans la liste.</para></listitem>
+        <listitem><para>Le show edit menu Standard: s'il est positionné à N alors les bouttons "ajout", "édition" et "suppression n'apparaissent pas</para></listitem>
+        <listitem><para>Gestion de l'historique (show history button): s'il est positionné à N alors les bouttons "invalider" et "afficher l'historique" apparaissent pas</para></listitem>
+        <listitem><para>Bouton suppression (Show Delete button) : s'il est positionné à N alors le bouttons "suppression" n'apparait pas, souvent utilisé pour forcer uniquement l'usage de l'historisation.</para></listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Règles de Securité</title>
+      <itemizedlist>
+        <listitem><para>aucune au niveau de la portlet, uniquement celle au niveau du service de mise à jours (et celles du composant)</para> </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Remarques Techniques</title>
+      <para>Cette portlet ne liste que la table PartyRelationship avec partyIdFrom == le partyId selectionné. Une seconde portlet existe pour
+        partyIdTo = partyId</para>
+      <para>Quand les roles ne sont pas précisé (à la saisie ou en paramétrage), la valeur _NA_ est utilisé.</para>
+    </section>
+</section>
\ No newline at end of file

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationFroms.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationFroms.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationFroms.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationTos.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationTos.xml?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationTos.xml (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationTos.xml Tue Oct 30 21:19:31 2012
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version
+2.0 (the "License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+applicable law or agreed to in writing, software distributed under the
+License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for
+the specific language governing permissions and limitations under the
+License.
+-->
+<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+    xsi:schemaLocation="http://docbook.org/ns/docbook"
+    xmlns="http://docbook.org/ns/docbook">
+    <title>Liste des acteurs auxquels il est associés .</title>
+
+      <para>Cette portlet permet d'afficher Les acteurs auxquels est associés l'acteur sélectionné. L'affichage et son comportement dependent de son
+            paramétrage.</para>
+      <para>Pour caractériser la relation entre deux acteurs, il faut préciser le "type de relation", le plus courament cette portlet est utilisé
+            pour un type de relation précis, par exemple 
+          <itemizedlist>
+            <listitem><para>"Contact", c'est à dire lister tous les commerciaux ou les clients pour lequel il est un contact;</para> </listitem>
+            <listitem><para>"Employé", c'est à dire lister la ou les sociétés où une personne est employé;</para></listitem>
+            <listitem><para>"Membre d'équipe", c'est à dire lister les groupes ou les services auxquels l'acteur est inscrit;</para></listitem>
+            <listitem><para>...</para></listitem>
+          </itemizedlist>
+            </para>
+      <para>Pour une relation entre acteur, il est aussi possible de préciser le rôle de l'acteur associé, par exemple dans le cas du type de relation
+            "employé", le rôle permettra de détailler le rôle de l'employé dans la société. Le plus souvent ce champ n'apparait pas car il n'est pas nécessaire.</para>
+      <para>Un relation entre acteur posséde des date de validité (de .. jusqu'a ..), il est donc possible de garder un historique. Selon le paramétrage
+            il est aussi possible de supprimer une relation et dans ce cas l'historique ne sera pas conservé.</para>
+      <para>&amp;nbsp;</para>
+
+    <section>
+      <title>Les paramètre de la Portlet</title>
+      <itemizedlist>
+        <listitem><para>Titre de la portlet : Il faut indiquer un "uiLabel" (un code qui selon la langue donnera un libéllé), cela permet de personnaliser la portlet,
+            c'est surtout utile dès que cette portlet est utilisé plusieurs fois dans la même page. Demander à un consultant technique pour trouver le uiLabel
+            correspondant à votre besoin ou pour en définir un nouveau.</para> </listitem>
+        <listitem><para>Role type From : Si ce champ est renseigné, cela permet de filtrer la liste affiché et dans l'écran d'édition (ajout ou modification) ce sera la valeur utilisé, le champ role ne sera pas affiché à l'utilisateur. 
+            Habituellement, ce paramètre est laissé vide.</para></listitem>
+        <listitem><para>Groupe de role : Si le champ Role from est vide, indique le groupe de rôle parmi lequel l'utisateur choisira dans l'écran d'édition (ajout - modification). Le champ rôle d'origine sera alors affiché dans la liste</para></listitem>
+        <listitem><para>Type de relation (Party Relationship Type Id) : permer d'indiquer le type de relation à utiliser pour filtrer les relations à afficher, ou laisser le champ vide pour les afficher toutes et donc montrer ce champ.</para></listitem>
+        <listitem><para>Rôle de l'acteur associé (Role type To) : Si ce champ est renseigné, cela permet de filtrer la liste affiché et dans l'écran d'édition (ajout ou modification) ce sera la valeur utilisé, le champ role ne sera pas affiché à l'utilisateur.</para></listitem>
+        <listitem><para>Groupe de role : Si le champ Role To est vide, indique le groupe de rôle parmi lequel l'utisateur choisira dans l'écran d'édition (ajout - modification). Le champ rôle de destination sera alors affiché dans la liste.</para></listitem>
+        <listitem><para>Le show edit menu Standard: s'il est positionné à N alors les bouttons "ajout", "édition" et "suppression n'apparaissent pas</para></listitem>
+        <listitem><para>Gestion de l'historique (show history button): s'il est positionné à N alors les bouttons "invalider" et "afficher l'historique" apparaissent pas</para></listitem>
+        <listitem><para>Bouton suppression (Show Delete button) : s'il est positionné à N alors le bouttons "suppression" n'apparait pas, souvent utilisé pour forcer uniquement l'usage de l'historisation.</para></listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Règles de Securité</title>
+      <itemizedlist>
+        <listitem><para>aucune au niveau de la portlet, uniquement celle au niveau du service de mise à jours (et celles du composant)</para> </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Remarques Techniques</title>
+      <para>Cette portlet ne liste que la table PartyRelationship avec partyIdTo == le partyId selectionné. Une seconde portlet existe pour
+        partyIdFrom = partyId</para>
+      <para>Quand les roles ne sont pas précisé (à la saisie ou en paramétrage), la valeur _NA_ est utilisé.</para>
+    </section>
+</section>
\ No newline at end of file

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationTos.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationTos.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRelationTos.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRoles.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRoles.xml?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRoles.xml (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRoles.xml Tue Oct 30 21:19:31 2012
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version
+2.0 (the "License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+applicable law or agreed to in writing, software distributed under the
+License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for
+the specific language governing permissions and limitations under the
+License.
+-->
+<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+    xsi:schemaLocation="http://docbook.org/ns/docbook"
+    xmlns="http://docbook.org/ns/docbook">
+    <title>Liste des roles de l'acteur.</title>
+
+      <para>Cette portlet affiche la liste des roles de l'acteur, tous ou seulement ceux faisant partie d'un groupe de rôle, celui-ci étant alors affiché 
+            dans le titre de la portlet, cela depend du paramétrage de la portlet dans cette page.</para>
+      <para>S'il n'y a pas de groupe de rôle de paramétré alors lors de l'ajout d'un rôle, il est possible de commencer par sélectionner un rôle père
+            puis un de ses fils.</para>
+      <para>S'il y a un groupe de rôle de paramétré alors lors de l'ajout d'un rôle, il ne sera possible de choisir que parmi les rôles du groupe.</para>
+      <para>&amp;nbsp;</para>
+
+    <section>
+      <title>Limitations ou futures fonctionnalitées</title>
+      <itemizedlist>
+          <listitem><para>Actuellement c'est le Role père qui permet de regrouper plusieurs rôle, donc il n'est pas possible pour un rôle d'être 
+            dans plusieurs "groupe".</para> </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Les paramètre de la Portlet</title>
+      <itemizedlist>
+        <listitem><para>Le show edit Standard: s'il est positionné à N alors les bouttons "ajout" et "suppression n'apparaissent pas, la valeur par défaut est Y</para></listitem>
+        <listitem><para>Groupe de role : indique le groupe de rôle parmi lequel l'utisateur choisira dans l'écran d'ajout. La liste des rôles affiché est alors filtré seul ceux du groupe sont affiché.</para></listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Règles de Securité</title>
+      <itemizedlist>
+        <listitem><para>PORTAL_ADMIN est nécessaire pour pouvoir éditer les paramètres de la portlet</para> </listitem>
+      </itemizedlist>
+    </section>
+
+</section>
\ No newline at end of file

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRoles.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRoles.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyRoles.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyUserLogins.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyUserLogins.xml?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyUserLogins.xml (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyUserLogins.xml Tue Oct 30 21:19:31 2012
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version
+2.0 (the "License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+applicable law or agreed to in writing, software distributed under the
+License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for
+the specific language governing permissions and limitations under the
+License.
+-->
+<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+    xsi:schemaLocation="http://docbook.org/ns/docbook"
+    xmlns="http://docbook.org/ns/docbook">
+    <title>Portlet de Liste des utilisateurs de connexion d'un acteur.</title>
+
+      <para>Cette portlet liste tous les utilisateurs de connexion associés à un acteur. La plupart du temps, il n'y a qu'un
+            utilisateur de connexion par acteur, mais pour les acteurs de type société, il peut être utile de pouvoir
+            créer de multiple utilisateurs, plutot que de créer des acteurs pour chaque employé(e).</para>
+      <para>Un utilisateur de connexion permet de se connecter à l'application OFBiz. Les groupes de sécurité auxquels il est associé
+            déterminent les écrans qu'il peut voir et les fonctions qu'il peux excécuter.</para>
+      <para>&amp;nbsp;</para>
+
+    <section>
+      <title>Limitations ou futures fonctionnalitées</title>
+      <itemizedlist>
+          <listitem><para>Seul les 5 premiers utilisateur de connexion sont affichés</para> </listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Les paramètres de la Portlet</title>
+      <itemizedlist>
+          <listitem><para>Le show screenlet menu Standard, il permet de cacher le menu de la portlet (refresh et ajout d'un utilisateur de connexion)</para> </listitem>
+          <listitem><para>Le show edit menu Standard: si il est positionné à N alors le bouton "ajout d'un utilisateur de connexion" n'apparait pas</para></listitem>
+          <listitem><para>security Group Id : Si un groupe de sécurité est indiqué alors le bouton "ajout d'un utilisateur de connexion" associe ce 
+            groupe de sécurité à l'utilisateur de connexion juste après sa création</para></listitem>
+      </itemizedlist>
+    </section>
+
+    <section>
+      <title>Règles de Securité</title>
+      <itemizedlist>
+          <listitem><para>SECURITY_VIEW est nécessaire pour voir la liste des groupes de sécurité</para> </listitem>
+          <listitem><para>PARTYMGR_CREATE est nécessaire pour avoir le bouton "ajout d'un utilisateur de connexion", 
+            ainsi que SECURITY_CREATE si il y a un ajout de groupe de securité en automatique (cf paramètre Security Group Id)</para></listitem>
+          <listitem><para>PARTYMGR_UPDATE et SECURITY_ADMIN sont nécessaires pour pourvoir éditer les informations de sécurité d'un utilisateur de connexion 
+            (le rendre valide ou non, changer son mot de passe, ...) et pour gérer les groupes de sécurité associés à un utilisateur de connexion.</para></listitem>
+          <listitem><para>Quand un utilisateur accéde à cette portlet pour lui-même, il peut changer son mot de passe</para></listitem>
+      </itemizedlist>
+    </section>
+</section>

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyUserLogins.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyUserLogins.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_PartyUserLogins.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_SelectParty.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_SelectParty.xml?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_SelectParty.xml (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_SelectParty.xml Tue Oct 30 21:19:31 2012
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one or more
+contributor license agreements. See the NOTICE file distributed with
+this work for additional information regarding copyright ownership.
+The ASF licenses this file to you under the Apache License, Version
+2.0 (the "License"); you may not use this file except in compliance
+with the License. You may obtain a copy of the License at
+http://www.apache.org/licenses/LICENSE-2.0 Unless required by
+applicable law or agreed to in writing, software distributed under the
+License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for
+the specific language governing permissions and limitations under the
+License.
+-->
+<section xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    version="5.0" xmlns:xl="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"
+    xsi:schemaLocation="http://docbook.org/ns/docbook"
+    xmlns="http://docbook.org/ns/docbook">
+    <title>Portlet Sélectionner un acteur.</title>
+
+      <para>Cette portlet est utiliser pour sélectionner-choisir un acteur, pour afficher la page portail en cours.</para>
+      <para>&amp;nbsp;</para>
+
+    <section>
+      <title>Les paramètre de la Portlet</title>
+      <itemizedlist>
+          <listitem><para>uri pour le lookup: la valeur par défault est lookupParty, ce paramètre est utile pour les pages portail à usage d'un "groupe" d'acteur, 
+            par exemple avec un filtre sur le type d'acteur, son role, .... Demander à un consultant technique pour avoir la liste de lookup existant
+            ou pour en définir un nouveau</para> </listitem>
+      </itemizedlist>
+      <para></para>
+    </section>
+
+    <section>
+      <title>Règles de Securité</title>
+      <itemizedlist>
+          <listitem><para>aucune, (celles du composant)</para> </listitem>
+      </itemizedlist>
+    </section>
+</section>
\ No newline at end of file

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_SelectParty.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_SelectParty.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/data/helpdata/FR/HELP_SelectParty.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Modified: ofbiz/branches/20120329_portletWidget/applications/party/entitydef/entitymodel.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/entitydef/entitymodel.xml?rev=1403874&r1=1403873&r2=1403874&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/entitydef/entitymodel.xml (original)
+++ ofbiz/branches/20120329_portletWidget/applications/party/entitydef/entitymodel.xml Tue Oct 30 21:19:31 2012
@@ -1691,6 +1691,26 @@ under the License.
         <key-map field-name="parentTypeId" rel-field-name="partyIdentificationTypeId"/>
       </relation>
     </entity>
+<!--#Bam# portletWidget-party -->
+
+  
+    <view-entity entity-name="PartyIdentificationAndType"
+                package-name="org.ofbiz.party.party"
+                title="PartyIdentification and PartyIdentificationType View Entity">
+      <member-entity entity-alias="PI" entity-name="PartyIdentification"/>
+      <member-entity entity-alias="PIT" entity-name="PartyIdentificationType"/>
+      <alias-all entity-alias="PI" />
+      <alias-all entity-alias="PIT">
+           <exclude field="partyId"/>
+      </alias-all>
+      <view-link entity-alias="PI" rel-entity-alias="PIT">
+        <key-map field-name="partyIdentificationTypeId"/>
+      </view-link>
+    </view-entity>
+    
+<!--#Eam# portletWidget-party -->
+
+
   
     <entity entity-name="PartyGeoPoint"
         package-name="org.ofbiz.party.party"
@@ -1851,6 +1871,24 @@ under the License.
         <key-map field-name="parentTypeId" rel-field-name="partyClassificationTypeId"/>
       </relation>
     </entity>
+<!--#Bam# portletWidget-party -->
+
+    <view-entity entity-name="PartyClassificationGroupAndType"
+                 package-name="org.ofbiz.party.party"
+                 title="PartyClassificationGroup and PartyClassificationType View">
+      <member-entity entity-alias="PCG" entity-name="PartyClassificationGroup"/>
+      <member-entity entity-alias="PCT" entity-name="PartyClassificationType"/>
+      <alias-all entity-alias="PCG"/>
+      <alias entity-alias="PCT" name="typeDescription" field="description"/>
+      <alias entity-alias="PCT" name="parentTypeId"/>
+      <view-link entity-alias="PCG" rel-entity-alias="PCT">
+          <key-map field-name="partyClassificationTypeId"/>
+      </view-link>
+    </view-entity>
+    
+<!--#Eam# portletWidget-party -->
+
+
     <view-entity entity-name="PartyContactWithPurpose"
             package-name="org.ofbiz.party.party"
             title="Party Contact Purpose View Entity">
@@ -2752,6 +2790,25 @@ under the License.
         <key-map field-name="parentTypeId" rel-field-name="roleTypeId"/>
       </relation>
     </entity>
+<!--#Bam# portletWidget-party -->
+
+    <view-entity entity-name="ParentRoleTypeDescription"
+        package-name="org.ofbiz.party.party" title="Party Role View in 2 levels"
+        default-resource-name="PartyEntityLabels">
+        <member-entity entity-alias="RT" entity-name="RoleType" />
+        <member-entity entity-alias="PRT" entity-name="RoleType" />
+        <alias entity-alias="RT" name="roleTypeId" field="parentTypeId"/>
+        <alias entity-alias="RT" name="childRoleTypeId" field="roleTypeId"/>
+        <alias entity-alias="PRT" name="description" />
+<!--        <alias entity-alias="PRT" name="parentRoleDescription" field="description" />-->
+        <view-link entity-alias="RT" rel-entity-alias="PRT">
+            <key-map field-name="parentTypeId" rel-field-name="roleTypeId"/>
+        </view-link>
+    </view-entity>
+    
+<!--#Eam# portletWidget-party -->
+
+
     <view-entity entity-name="RoleTypeIn3Levels"
         package-name="org.ofbiz.party.party" title="Party Role View in 4 levels">
         <member-entity entity-alias="RT1" entity-name="RoleType" />

Added: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/ProfileWactions.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/ProfileWactions.xml?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/ProfileWactions.xml (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/ProfileWactions.xml Tue Oct 30 21:19:31 2012
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods-v2.xsd">
+    <simple-method method-name="PartyInfo" short-description="action for PartyInfo screen">
+      <set field="parameters.partyId" from="parameters.partyId" default="${userLogin.partyId}"/>
+      <call-simple-method method-name="PartyDetailsMenu"/>
+    </simple-method>
+    <simple-method method-name="PartyDetailsMenu" short-description="action for PartyInfo screen">
+      <entity-and entity-name="PartyNameHistory" list="widget.partyNameHistoryList">
+          <field-map field-name="partyId" from-field="parameters.partyId"/>
+          <order-by field-name="-changeDate"/>
+      </entity-and>
+      <entity-one entity-name="PartyAndGroup" value-field="widget.lookupGroup">
+          <field-map field-name="partyId" from-field="parameters.partyId"/><!-- is required -->
+      </entity-one>
+      <entity-one entity-name="PartyAndPerson" value-field="widget.lookupPerson">
+          <field-map field-name="partyId" from-field="parameters.partyId"/><!-- is required -->
+      </entity-one>
+      <entity-and list="partyContentList" entity-name="PartyContent">
+          <field-map field-name="partyId" from-field="parameters.partyId"/>
+          <field-map field-name="partyContentTypeId" value="LGOIMGURL"/>
+          <order-by field-name="-fromDate"/>
+      </entity-and>
+      <set field="partyContentId" from="partyContentList[0].contentId" set-if-null="true"/>
+      <set field="partyContent" from="groovy: (partyContentId!=null) ? '/content/control/stream?contentId=' + partyContentId : null"/>
+      <set field="widget.partyGroupLogoLinkUrl" from="partyContent" default="${lookupGroup.logoImageUrl}"/> <!-- FIXME in screen global=true, find why -->
+      <set field="widget.personalImage" from="partyContent" set-if-null="true"/>
+
+      <if-not-empty field="widget.lookupPerson">
+        <set field="widget.titleLabel" value="PartyPersonalInformation"/>
+      </if-not-empty>
+      <if-not-empty field="widget.lookupGroup">
+        <set field="widget.titleLabel" value="PartyPartyGroupInformation"/>
+      </if-not-empty>
+    </simple-method>
+
+    <simple-method method-name="hasSecurityUpdate" short-description="test if user login as SECURITY_UPDATE and put adminSecurity in widget">
+      <if-has-permission permission="SECURITY" action="_UPDATE">
+        <set field="widget.hasSecurityUpdate" value="true" type="Boolean"/>
+      <else>
+        <set field="widget.hasSecurityUpdate" value="false" type="Boolean"/>
+        </else>
+      </if-has-permission>
+    </simple-method>
+    <simple-method method-name="PartyUserLogins" short-description="action for PartyUserLogin screen">
+      <set field="widget.partyId" from="parameters.partyId"/>
+      <entity-and list="widget.partyAndUserLogins" entity-name="PartyAndUserLogin">
+          <field-map field-name="partyId" from-field="widget.partyId"/>
+      </entity-and>
+      <set field="widget.isUserLogin" from="groovy: (parameters.partyId.equals(userLogin.partyId)) ? true : false" type="Boolean"/>
+      <set field="widget.userLoginIdLogged" from="userLogin.userLoginId" />
+      <call-simple-method method-name="hasSecurityUpdate"/>
+    </simple-method>
+
+    <simple-method method-name="ContactMechMgmt" short-description="action for ContactMechMgmt Screen">
+        <script location="component://party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy"/>
+        <set field="widget.contactMeches" from="contactMeches"/>
+        <set field="areaId" from="parameters.areaId" default-value="${currentAreaId}"/>
+    </simple-method>
+
+    <simple-method method-name="PartyRelationships" short-description="action for PartyRelationships From and To portlet">
+      <set field="widget.roleTypeGroupIdFrom" from="roleTypeGroupIdFrom" set-if-null="true"/>
+      <set field="widget.roleTypeGroupIdTo"   from="roleTypeGroupIdTo"   set-if-null="true"/>
+      <set field="widget.partyRelationshipTypeIdAttr" from="partyRelationshipTypeId" set-if-null="true"/>
+
+      <if-not-empty field="roleTypeGroupIdFrom">
+        <entity-and list="roleTypeIdFromMapList" entity-name="RoleType">
+          <field-map field-name="parentTypeId" from-field="roleTypeGroupIdFrom"/>
+          <select-field field-name="roleTypeId"/>
+        </entity-and>
+        <iterate entry="roleType" list="roleTypeIdFromMapList">
+          <set field="roleTypeIdFromList[]" from="roleType.roleTypeId"/>
+        </iterate>
+      </if-not-empty>
+
+      <if-not-empty field="roleTypeGroupIdTo">
+        <entity-and list="roleTypeIdToMapList" entity-name="RoleType">
+          <field-map field-name="parentTypeId" from-field="roleTypeGroupIdTo"/>
+          <select-field field-name="roleTypeId"/>
+        </entity-and>
+        <iterate entry="roleType" list="roleTypeIdToMapList">
+          <set field="roleTypeIdToList[]" from="roleType.roleTypeId"/>
+        </iterate>
+      </if-not-empty>
+
+      <set field="widget.Y" value="Y"/>
+      <set field="widget.showEditButton" from="showEditButton" default="Y" />
+      <set field="widget.showHistoryButton" from="showHistoryButton" default="Y" />
+      <set field="widget.showDeleteButton" from="showDeleteButton" default="Y" />
+      <set field="widget.showHistory" from="parameters.showHistory" default="N" />
+      <set field="widget.partyId" from="parameters.partyId"/>
+
+      <set field="sortField" from-field="parameters.sortField" default-value="fromDate"/>
+      <set field="relationIsNotFrom" from="'FROM'!=widget.relationIs"/>
+      <set field="relationIsFrom" from="'FROM'==widget.relationIs"/>
+      <entity-condition entity-name="PartyRelationship" list="widget.partyRelationList">
+           <condition-list>
+             <condition-expr field-name="partyIdFrom" operator="equals" from-field="parameters.partyId" ignore="${relationIsNotFrom}"/>
+             <condition-expr field-name="partyIdTo" operator="equals" from-field="parameters.partyId" ignore="${relationIsFrom}"/>
+             <condition-expr field-name="partyRelationshipTypeId" from-field="partyRelationshipTypeIdAttr" ignore-if-empty="true"/>
+             <condition-expr field-name="roleTypeIdFrom" from-field="roleTypeIdFrom" ignore-if-empty="true"/>
+             <condition-expr field-name="roleTypeIdFrom" operator="in" from-field="roleTypeIdFromList" ignore-if-empty="true"/>
+             <condition-expr field-name="roleTypeIdTo" from-field="roleTypeIdTo" ignore-if-empty="true"/>
+             <condition-expr field-name="roleTypeIdTo" operator="in" from-field="roleTypeIdToList" ignore-if-empty="true"/>
+           </condition-list>
+           <order-by field-name="${sortField}"/>
+      </entity-condition>
+      <if-compare field="widget.showHistory" operator="not-equals" value="Y">
+        <filter-list-by-date list="widget.partyRelationList"/>
+      </if-compare>
+    </simple-method>
+
+    <simple-method method-name="PartyRelationFroms" short-description="action for PartyRelationships From portlet">
+      <set field="widget.relationIs" value="FROM"/>
+      <call-simple-method method-name="PartyRelationships"/>
+    </simple-method>
+    <simple-method method-name="PartyRelationTos" short-description="action for PartyRelationships To portlet">
+      <set field="widget.relationIs" value="TO"/>
+      <call-simple-method method-name="PartyRelationships"/>
+    </simple-method>
+
+    <simple-method method-name="PartyRoles" short-description="action for PartyRoles portlet">
+      <set field="widget.partyId" from="parameters.partyId"/>
+      <set field="roleTypeGroupId" from="roleTypeGroupId" set-if-null="true"/>
+      <entity-condition entity-name="RoleTypeAndParty" list="widget.partyRoles" distinct="true">
+          <condition-list combine="and">
+              <condition-expr field-name="partyId" operator="equals" value="${parameters.partyId}" />
+              <condition-expr field-name="roleTypeId" operator="not-equals" value="_NA_" />
+              <condition-expr field-name="parentTypeId" operator="equals" from-field="roleTypeGroupId" ignore-if-empty="true"/>
+          </condition-list>
+      </entity-condition>
+      <set field="parentTitle" from="groovy: (roleTypeGroupId ? org.ofbiz.base.util.UtilProperties.getMessage('PartyEntityLabels', 'RoleType.description.' + roleTypeGroupId, locale) : '')"/>
+      <if-compare-field field="parameters.idDescription" operator="contains" to-field="parentTitle"><!-- not add two time -->
+      <else><set field="parameters.idDescription" value="${parentTitle} ${parameters.idDescription}"/></else><!-- in the else because test should be "not contains" -->
+      </if-compare-field>
+      <set field="showEditButton" from="showEditButton" default="Y"/>
+      <set field="widget.showEditButton" from="showEditButton=='Y'" type="Boolean"/>
+    </simple-method>
+
+    <simple-method method-name="getParentRoleDescription" short-description="get list of roleTypeId with childs and its description ">
+      <entity-condition entity-name="RoleType" list="parentRoleList" distinct="true">
+          <condition-expr field-name="parentTypeId" operator="not-equals" from-field="nullField"/>
+          <select-field field-name="parentTypeId"/>
+      </entity-condition>
+      <iterate entry="parentRole" list="parentRoleList">
+        <entity-one value-field="roleType" entity-name="RoleType" use-cache="true">
+          <field-map field-name="roleTypeId" from-field="parentRole.parentTypeId"/>
+        </entity-one>
+        <set field="parentRole.description" from="groovy:roleType.get('description',locale)"/>
+      </iterate>
+      <order-map-list list="parentRoleList" >
+        <order-by field-name="description"/>
+      </order-map-list>
+      <set field="widget.parentRoleList" from="parentRoleList"/>
+    </simple-method>
+
+    <simple-method method-name="PartyAvsSettings" short-description="read PartyIcsAvsOverride and put in widget context ">
+          <set field="partyId" from-field="parameters.partyId"/>
+          <entity-one entity-name="PartyIcsAvsOverride" value-field="widget.avsOverride" use-cache="true">
+              <field-map field-name="partyId"/>
+          </entity-one>
+    </simple-method>
+</simple-methods>

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/ProfileWactions.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/ProfileWactions.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/ProfileWactions.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml Tue Oct 30 21:19:31 2012
@@ -0,0 +1,566 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!--
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/simple-methods.xsd">
+
+    <simple-method method-name="createGivenTelecomNumber" short-description="Create telecom number for given 'entity' and given 'primaryId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <set-service-fields service-name="createTelecomNumber" map="parameters" to-map="createTelecomNumberMap"/>
+            <call-service in-map-name="createTelecomNumberMap" service-name="createTelecomNumber">
+                <default-message resource="PartyUiLabels" property="PartyTelecomNumberSuccessfullyCreated"/>
+                <result-to-field result-name="contactMechId" field="contactMechId"/>
+            </call-service>
+
+            <set-service-fields service-name="createWorkEffortContactMech" map="parameters" to-map="createWorkEffortContactMech"/>
+            <set field="createWorkEffortContactMech.workEffortId" from-field="parameters.primaryId"/>
+            <set field="createWorkEffortContactMech.contactMechId" from-field="contactMechId"/>
+            <set field="createWorkEffortContactMech.contactMechTypeId" value="TELECOM_NUMBER"/>
+            <call-service service-name="createWorkEffortContactMech" in-map-name="createWorkEffortContactMech" break-on-error="true">
+                 <default-message resource="PartyUiLabels" property="PartyTelecomNumberSuccessfullyCreated"/>
+            </call-service>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="createPartyTelecomNumber" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="createPartyTelecomNumber" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="createFacilityTelecomNumber" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="createFacilityTelecomNumber" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+    
+    <simple-method method-name="createGivenPostalAddress" short-description="Create postal address for given 'entity' and given 'primaryId'">
+        <entity-one value-field="postalCodeGeo" entity-name="Geo">
+            <field-map field-name="geoId" from-field="parameters.postalCodeGeoId"/>
+        </entity-one>
+        <if-empty field="postalCodeGeo">
+            <set field="parameters.postalCode" from-field="parameters.postalCode" set-if-null="true"/>
+        <else>
+            <set field="parameters.postalCode" from-field="postalCodeGeo.geoName" default-value="${parameters.postalCodeGeoId}"/>
+            <set field="parameters.postalCodeGeoId" from-field="postalCodeGeo.geoId" set-if-null="true"/>
+        </else>
+        </if-empty>
+
+        <entity-one value-field="cityGeo" entity-name="Geo">
+            <field-map field-name="geoId" from-field="parameters.cityGeoId"/>
+        </entity-one>
+        <if-empty field="cityGeo">
+            <set field="parameters.cityGeoId" from-field="parameters.city" set-if-null="true"/>
+        <else>
+            <set field="parameters.city" from-field="cityGeo.geoName" default-value="${parameters.cityGeoId}"/>
+            <set field="parameters.cityGeoId" from-field="cityGeo.geoId" set-if-null="true"/>
+        </else>
+        </if-empty>
+
+        <entity-and list="countyGeos" entity-name="GeoAssoc" use-cache="true">
+            <field-map field-name="geoAssocTypeId" value="COUNTY_CITY"/>
+            <field-map field-name="geoIdTo" from-field="parameters.postalCodeGeoId"/>
+        </entity-and>
+        <if-not-empty field="countyGeos">
+            <first-from-list entry="countyGeo" list="countyGeos"/>
+            <set field="parameters.countyGeoId" from-field="countyGeo.geoId" set-if-null="true"/>
+            <entity-and list="stateGeos" entity-name="GeoAssoc" use-cache="true">
+                <field-map field-name="geoAssocTypeId" value="REGIONS"/>
+                <field-map field-name="geoIdTo" from-field="parameters.countyGeoId"/>
+            </entity-and>
+            <if-not-empty field="stateGeos">
+                <first-from-list entry="stateGeo" list="stateGeos"/>
+                <set field="parameters.stateProvinceGeoId" from-field="stateGeo.geoId" set-if-null="true"/>
+            </if-not-empty>
+        </if-not-empty>
+        
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <set-service-fields service-name="createPostalAddress" map="parameters" to-map="createPostalAddressMap"/>
+            <call-service in-map-name="createPostalAddressMap" service-name="createPostalAddress">
+                <default-message resource="PartyUiLabels" property="PartyPostalAddressSuccessfullyCreated"/>
+                <result-to-field result-name="contactMechId" field="contactMechId"/>
+            </call-service>
+
+            <set-service-fields service-name="createWorkEffortContactMech" map="parameters" to-map="createWorkEffortContactMech"/>
+            <set field="createWorkEffortContactMech.workEffortId" from-field="parameters.primaryId"/>
+            <set field="createWorkEffortContactMech.contactMechId" from-field="contactMechId"/>
+            <set field="createWorkEffortContactMech.contactMechTypeId" value="POSTAL_ADDRESS"/>
+            <call-service service-name="createWorkEffortContactMech" in-map-name="createWorkEffortContactMech" break-on-error="true">
+                 <default-message resource="PartyUiLabels" property="PartyPostalAddressSuccessfullyUpdated"/>
+            </call-service>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="createPartyPostalAddress" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="createPartyPostalAddress" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="createFacilityPostalAddress" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="createFacilityPostalAddress" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+    
+    <simple-method method-name="createGivenEmailAddress" short-description="Create Email Address for given 'entity' and given 'primaryId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <if-validate-method field="parameters.emailAddress" method="isEmail">
+                <else><add-error><fail-property resource="PartyUiLabels" property="PartyEmailAddressNotFormattedCorrectly"/></add-error></else>
+            </if-validate-method>
+            <check-errors/>
+
+            <!-- if e-mail address already exists simply return -->
+            <entity-condition list="workEffortAndContactMechs" entity-name="WorkEffortContactMechView">
+                <condition-list combine="and">
+                    <condition-expr field-name="workEffortId" from-field="parameters.workEffortId"/>
+                    <condition-expr field-name="infoString" from-field="parameters.emailAddress" ignore-case="true"/>
+                </condition-list>
+            </entity-condition>
+            <filter-list-by-date list="workEffortAndContactMechs"/>
+            <if-not-empty field="workEffortAndContactMechs">
+                <log level="info" message="E-mail address: ${parameters.emailAddress} already exists, did not add again.."/>
+                <first-from-list entry="existsWorkEffortContactMechView" list="workEffortAndContactMechs"/>
+                <field-to-result field="existsWorkEffortContactMechView.contactMechId" result-name="contactMechId"/>
+                <field-to-request field="existsWorkEffortContactMechView.contactMechId" request-name="contactMechId"/>
+                <return/>
+            </if-not-empty>
+            <make-value value-field="newContactMech" entity-name="ContactMech"/>
+            <sequenced-id sequence-name="ContactMech" field="newContactMech.contactMechId"/>
+            <set-nonpk-fields map="parameters" value-field="newContactMech"/>
+            <set field="newContactMech.contactMechTypeId" value="EMAIL_ADDRESS"/>
+            <set field="newContactMech.infoString" from-field="parameters.emailAddress"/>
+            <create-value value-field="newContactMech"/>
+
+            <set-service-fields service-name="createWorkEffortContactMech" map="parameters" to-map="createWorkEffortContactMechCtx"/>
+            <set field="createWorkEffortContactMechCtx.workEffortId" from-field="parameters.primaryId"/>
+            <set field="createWorkEffortContactMechCtx.contactMechId" from-field="newContactMech.contactMechId"/>
+            <call-service service-name="createWorkEffortContactMech" in-map-name="createWorkEffortContactMechCtx" break-on-error="true">
+                 <default-message resource="PartyUiLabels" property="PartyEmailAddressSuccessfullyCreated"/>
+            </call-service>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="createPartyEmailAddress" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="createPartyEmailAddress" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="createFacilityEmailAddress" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="createFacilityEmailAddress" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="createContactMechEntity" short-description="Create contact mech for given 'entity' and given 'primaryId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <set-service-fields service-name="createWorkEffortContactMech" map="parameters" to-map="createContactMechMap"/>
+            <set field="createContactMechMap.workEffortId" from-field="parameters.primaryId"/>
+            <call-service service-name="createWorkEffortContactMech" in-map-name="createContactMechMap" break-on-error="true"/>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="createPartyContactMech" map="parameters" to-map="createContactMechMap"/>
+            <set field="createContactMechMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="createPartyContactMech" in-map-name="createContactMechMap" break-on-error="true"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="createFacilityContactMech" map="parameters" to-map="createContactMechMap"/>
+            <set field="createContactMechMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="createFacilityContactMech" in-map-name="createContactMechMap" break-on-error="true"/>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="updateGivenTelecomNumber" short-description="update telecom number for given 'entity' and given 'primaryId'">
+            <entity-one value-field="telNum" entity-name="TelecomNumber"/>
+            <set-nonpk-fields value-field="telNum" map="parameters"/>
+            <store-value value-field="telNum"/>
+
+            <if-compare operator="equals" value="Party" field="parameters.entity">
+                <entity-one value-field="contactMech" entity-name="PartyContactMech">
+                   <field-map field-name="partyId" from-field="parameters.primaryId"/>
+                   <field-map field-name="contactMechId" from-field="parameters.contactMechId"/>
+                   <field-map field-name="fromDate" from-field="parameters.fromDate"/>
+                </entity-one>
+            </if-compare>
+            <if-compare operator="equals" value="Facility" field="parameters.entity">
+                <entity-one value-field="contactMech" entity-name="FacilityContactMech">
+                   <field-map field-name="facilityId" from-field="parameters.primaryId"/>
+                   <field-map field-name="contactMechId" from-field="parameters.contactMechId"/>
+                   <field-map field-name="fromDate" from-field="parameters.fromDate"/>
+                </entity-one>
+            </if-compare>
+            <if-not-empty field="contactMech">
+                <set field="contactMech.extension" from-field="parameters.extension"/>
+                <store-value value-field="contactMech"/>
+            </if-not-empty>
+    </simple-method>
+
+    <simple-method method-name="updateGivenPostalAddress" short-description="update postal Address for given 'entity' and given 'primaryId'">
+        <log level="error" message="${parameters}"></log>
+        <entity-one value-field="postalCodeGeo" entity-name="Geo" use-cache="true">
+            <field-map field-name="geoId" from-field="parameters.postalCodeGeoId"/>
+        </entity-one>
+        <if-empty field="postalCodeGeo">
+            <set field="parameters.postalCode" from-field="parameters.postalCode" set-if-null="true"/>
+        <else>
+            <set field="parameters.postalCode" from-field="postalCodeGeo.geoName" default-value="${parameters.postalCodeGeoId}"/>
+            <set field="parameters.postalCodeGeoId" from-field="postalCodeGeo.geoId" set-if-null="true"/>
+        </else>
+        </if-empty>
+
+       <entity-one value-field="cityGeo" entity-name="Geo" use-cache="true">
+            <field-map field-name="geoId" from-field="parameters.cityGeoId"/>
+        </entity-one>
+        <if-empty field="cityGeo">
+            <set field="parameters.cityGeoId" from-field="parameters.city" set-if-null="true"/>
+        <else>
+            <set field="parameters.city" from-field="cityGeo.geoName" default-value="${parameters.cityGeoId}"/>
+            <set field="parameters.cityGeoId" from-field="cityGeo.geoId" set-if-null="true"/>
+        </else>
+        </if-empty>
+
+        <entity-and list="countyGeos" entity-name="GeoAssoc" use-cache="true">
+            <field-map field-name="geoAssocTypeId" value="COUNTY_CITY"/>
+            <field-map field-name="geoIdTo" from-field="parameters.postalCodeGeoId"/>
+        </entity-and>
+        <if-not-empty field="countyGeos">
+            <first-from-list entry="countyGeo" list="countyGeos"/>
+            <set field="parameters.countyGeoId" from-field="countyGeo.geoId" set-if-null="true"/>
+            <entity-and list="stateGeos" entity-name="GeoAssoc" use-cache="true">
+                <field-map field-name="geoAssocTypeId" value="REGIONS"/>
+                <field-map field-name="geoIdTo" from-field="parameters.countyGeoId"/>
+            </entity-and>
+            <if-not-empty field="stateGeos">
+                <first-from-list entry="stateGeo" list="stateGeos"/>
+                <set field="parameters.stateProvinceGeoId" from-field="stateGeo.geoId" set-if-null="true"/>
+            </if-not-empty>
+        </if-not-empty>
+        <entity-one value-field="postAdd" entity-name="PostalAddress"/>
+        <set-nonpk-fields value-field="postAdd" map="parameters"/>
+        <store-value value-field="postAdd"/>
+    </simple-method>
+
+    <simple-method method-name="updateGivenEmailAddress" short-description="update telecom number for given 'entity' and given 'primaryId'">
+            <entity-one value-field="mailAdd" entity-name="ContactMech"/>
+            <set field="mailAdd.infoString" from-field="parameters.emailAddress"/>
+            <store-value value-field="mailAdd"/>
+    </simple-method>
+
+    <simple-method method-name="updateContactMechEntity" short-description="Update contact mech for given 'entity' and given 'primaryId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <set-service-fields service-name="updateWorkEffortContactMech" map="parameters" to-map="updateContactMechMap"/>
+            <set field="updateContactMechMap.workEffortId" from-field="parameters.primaryId"/>
+            <call-service service-name="updateWorkEffortContactMech" in-map-name="updateContactMechMap" break-on-error="true"/>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="updatePartyContactMech" map="parameters" to-map="updateContactMechMap"/>
+            <set field="updateContactMechMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="updatePartyContactMech" in-map-name="updateContactMechMap" break-on-error="true"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="updateFacilityContactMech" map="parameters" to-map="updateContactMechMap"/>
+            <set field="updateContactMechMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="updateFacilityContactMech" in-map-name="updateContactMechMap" break-on-error="true"/>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="removeGivenContactMech" short-description="Delete ContactMech from database, for given 'entity', 'primaryId' and 'contacMechId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <!--  delete the workEffortContactMech -->
+            <entity-and list="workEffortContactMechs" entity-name="WorkEffortContactMech">
+                <field-map field-name="workEffortId" from-field="parameters.primaryId"/>
+                <field-map field-name="contactMechId" from-field="parameters.contactMechId"/>
+            </entity-and>
+            <if-not-empty field="workEffortContactMechs">
+                 <remove-list list="workEffortContactMechs"/>
+            </if-not-empty>
+            <!--  delete first all contactMech Purpose -->
+            <set field="conditionMap.contactMechId" from-field="parameters.contactMechId"/>
+            <remove-by-and map="conditionMap" entity-name="PostalAddress"/>
+            <remove-by-and map="conditionMap" entity-name="TelecomNumber"/>
+            <remove-by-and map="conditionMap" entity-name="PartyContactMechPurpose"/>
+            <!-- then delete contactMech -->
+            <entity-one value-field="contactMech" entity-name="ContactMech"/>
+            <remove-value value-field="contactMech"/>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <!--  delete first all contactMech Purpose -->
+            <set field="conditionMap.contactMechId" from-field="parameters.contactMechId"/>
+            <remove-by-and map="conditionMap" entity-name="PostalAddress"/>
+            <remove-by-and map="conditionMap" entity-name="TelecomNumber"/>
+            <remove-by-and map="conditionMap" entity-name="PartyContactMechPurpose"/>
+            <!--  delete then partycontactMech -->
+            <set field="conditionMap.partyId" from-field="parameters.primaryId"/>
+            <remove-by-and map="conditionMap" entity-name="PartyContactMech"/>
+            <!-- then delete contactMech -->
+            <entity-one value-field="contactMech" entity-name="ContactMech"/>
+            <remove-value value-field="contactMech"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <!--  delete first all contactMech Purpose and extended data-->
+            <set field="conditionMap.contactMechId" from-field="parameters.contactMechId"/>
+            <remove-by-and map="conditionMap" entity-name="FacilityContactMechPurpose"/>
+            <remove-by-and map="conditionMap" entity-name="PostalAddress"/>
+            <remove-by-and map="conditionMap" entity-name="TelecomNumber"/>
+            <!--  delete then partycontactMech -->
+            <set field="conditionMap.facilityId" from-field="parameters.primaryId"/>
+            <remove-by-and map="conditionMap" entity-name="FacilityContactMech"/>
+            <!-- then delete contactMech -->
+            <entity-one value-field="contactMech" entity-name="ContactMech"/>
+            <remove-value value-field="contactMech"/>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="updateGivenContactMech" short-description="Update ContactMech for given 'entity', 'primaryId' and 'contacMechId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <entity-one entity-name="WorkEffortContactMech" value-field="workEffortContactMech">
+                <field-map field-name="workEffortId"  from-field="parameters.primaryId"/>
+                <field-map field-name="contactMechId" from-field="parameters.contactMechId"/>
+                <field-map field-name="fromDate"      from-field="parameters.fromDate"/>
+            </entity-one>
+            <if-empty field="workEffortContactMech">
+                <add-error><fail-message message="ERROR: Cannot update specified contact info because it does not correspond to the specified work effort"/></add-error>
+            </if-empty>
+            <check-errors/>
+            <set field="thruDate" from-field="parameters." set-if-null="true"/>
+            <store-value value-field="workEffortContactMech"/>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <!-- Update facility contactMech -->
+            <entity-one entity-name="PartyContactMech" value-field="partyContactMech">
+                <field-map field-name="partyId"       from-field="parameters.primaryId"/>
+                <field-map field-name="contactMechId" from-field="parameters.contactMechId"/>
+                <field-map field-name="fromDate"      from-field="parameters.fromDate"/>
+            </entity-one>
+            <if-empty field="partyContactMech">
+                <add-error><fail-message message="ERROR: Cannot update specified contact info because it does not correspond to the specified facility; query map was: ${facilityContactMechMap}"/></add-error>
+            </if-empty>
+            <check-errors/>
+            <set-nonpk-fields value-field="partyContactMech" map="parameters"/>
+            <store-value value-field="partyContactMech"/>
+
+            <!-- Reactivate all existing party contactMechPurpose if necessary -->
+            <if-empty field="parameters.thruDate">
+                <get-related relation-name="PartyContactMechPurpose" list="pcmps" value-field="partyContactMech"/>
+                <if-not-empty field="pcmps">
+                    <iterate entry="pcmp" list="pcmps">
+                        <if-not-empty field="pcmp.thruDate">
+                            <set field="pcmp.thruDate" value="" set-if-null="true"/>
+                            <store-value value-field="pcmp"/>
+                        </if-not-empty>
+                    </iterate>
+                </if-not-empty>
+            </if-empty>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <!-- Update facility contactMech -->
+            <entity-one entity-name="FacilityContactMech" value-field="facilityContactMech">
+                <field-map field-name="facilityId"    from-field="parameters.primaryId"/>
+                <field-map field-name="contactMechId" from-field="parameters.contactMechId"/>
+                <field-map field-name="fromDate"      from-field="parameters.fromDate"/>
+            </entity-one>
+            <if-empty field="facilityContactMech">
+                <add-error><fail-message message="ERROR: Cannot update specified contact info because it does not correspond to the specified facility; query map was: ${facilityContactMechMap}"/></add-error>
+            </if-empty>
+            <check-errors/>
+            <set-nonpk-fields value-field="facilityContactMech" map="parameters"/>
+            <store-value value-field="facilityContactMech"/>
+
+            <!-- Reactivate all existing facility contactMechPurpose if necessary -->
+            <if-empty field="parameters.thruDate">
+                <get-related relation-name="FacilityContactMechPurpose" list="fcmps" value-field="facilityContactMech"/>
+                <if-not-empty field="fcmps">
+                    <iterate entry="fcmp" list="fcmps">
+                        <if-not-empty field="fcmp.thruDate">
+                            <set field="fcmp.thruDate" value="" set-if-null="true"/>
+                            <store-value value-field="fcmp"/>
+                        </if-not-empty>
+                    </iterate>
+                </if-not-empty>
+            </if-empty>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="deleteGivenContactMech" short-description="Delete ContactMech for given 'entity', 'primaryId' and 'contacMechId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <entity-one entity-name="WorkEffortContactMech" value-field="workEffortContactMech">
+                <field-map field-name="workEffortId"  from-field="parameters.primaryId"/>
+                <field-map field-name="contactMechId" from-field="parameters.contactMechId"/>
+                <field-map field-name="fromDate"      from-field="parameters.fromDate"/>
+            </entity-one>
+            <if-empty field="workEffortContactMech">
+                <add-error><fail-message message="ERROR: Cannot delete specified contact info because it does not correspond to the specified work effort"/></add-error>
+            </if-empty>
+            <check-errors/>
+            <now-timestamp field="workEffortContactMech.thruDate"/>
+            <store-value value-field="workEffortContactMech"/>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="deletePartyContactMech" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="deletePartyContactMech" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="deleteFacilityContactMech" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="deleteFacilityContactMech" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+    
+    <simple-method method-name="createGivenContactMechPurpose" short-description="Delete ContactMechPurpose for given 'entity', 'primaryId' and 'contacMechId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for WorkEffort"/>
+            </add-error>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="createPartyContactMechPurpose" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="createPartyContactMechPurpose" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="createFacilityContactMechPurpose" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="createFacilityContactMechPurpose" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="updateGivenContactMechPurpose" short-description="Update ContactMechPurpose for given 'entity', 'primaryId' and 'contacMechId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for WorkEffort"/>
+            </add-error>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="updatePartyContactMechPurpose" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="updatePartyContactMechPurpose" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="updateFacilityContactMechPurpose" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="updateFacilityContactMechPurpose" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="deleteGivenContactMechPurpose" short-description="Deactivate ContactMechPurpose for given 'entity', 'primaryId' and 'contacMechId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for WorkEffort"/>
+            </add-error>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="deletePartyContactMechPurpose" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="deletePartyContactMechPurpose" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="deleteFacilityContactMechPurpose" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="deleteFacilityContactMechPurpose" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+
+    <simple-method method-name="removeGivenContactMechPurpose" short-description="Remove ContactMechPurpose for given 'entity', 'primaryId' and 'contacMechId'">
+        <if-compare operator="equals" value="Order" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for Order"/>
+            </add-error>
+        </if-compare>
+        <if-compare operator="equals" value="WorkEffort" field="parameters.entity">
+            <add-error>
+                <fail-message message="No services are yet implemented for WorkEffort"/>
+            </add-error>
+        </if-compare>
+        <check-errors/>
+        <if-compare operator="equals" value="Party" field="parameters.entity">
+            <set-service-fields service-name="removePartyContactMechPurpose" to-map="partyMap" map="parameters"/>
+            <set field="partyMap.partyId" from-field="parameters.primaryId"/>
+            <call-service service-name="removePartyContactMechPurpose" in-map-name="partyMap"/>
+        </if-compare>
+        <if-compare operator="equals" value="Facility" field="parameters.entity">
+            <set-service-fields service-name="removeFacilityContactMechPurpose" to-map="facilityMap" map="parameters"/>
+            <set field="facilityMap.facilityId" from-field="parameters.primaryId"/>
+            <call-service service-name="removeFacilityContactMechPurpose" in-map-name="facilityMap"/>
+        </if-compare>
+    </simple-method>
+
+</simple-methods>

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/ContactMechPortletServices.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml

Added: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy?rev=1403874&view=auto
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy (added)
+++ ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy Tue Oct 30 21:19:31 2012
@@ -0,0 +1,50 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+import org.ofbiz.party.contact.ContactMechWorker;
+
+if (parameters.partyId){
+    if (! parameters.primaryId) parameters.primaryId = parameters.partyId;
+    if (! parameters.entity)    parameters.entity = "Party";
+} else if (parameters.facilityId){
+    if (! parameters.primaryId) parameters.primaryId = parameters.facilityId;
+    if (! parameters.entity)    parameters.entity = "Facility";
+} else if (parameters.orderId){
+    if (! parameters.primaryId) parameters.primaryId = parameters.orderId;
+    if (! parameters.entity)    parameters.entity = "Order";
+} else if (parameters.workEffortId){
+    if (! parameters.primaryId) parameters.primaryId = parameters.workEffortId;
+    if (! parameters.entity)    parameters.entity = "WorkEffort";
+}
+
+primaryId = parameters.primaryId;
+showOld = "true".equals(parameters.SHOW_OLD);
+
+if (parameters.entity == "Party")
+    context.contactMeches = ContactMechWorker.getPartyContactMechValueMaps(delegator, primaryId, showOld);
+
+if (parameters.entity == "Facility")
+    context.contactMeches = ContactMechWorker.getFacilityContactMechValueMaps(delegator, primaryId, showOld, null);
+
+if (parameters.entity == "Order")
+    context.contactMeches = ContactMechWorker.getOrderContactMechValueMaps(delegator, primaryId);
+
+if (parameters.entity == "WorkEffort")
+    context.contactMeches = ContactMechWorker.getWorkEffortContactMechValueMaps(delegator, primaryId, showOld);
+

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy
------------------------------------------------------------------------------
    svn:keywords = Date Rev Author URL Id

Propchange: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/GetContactMechsFromAll.groovy
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml
URL: http://svn.apache.org/viewvc/ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml?rev=1403874&r1=1403873&r2=1403874&view=diff
==============================================================================
--- ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml (original)
+++ ofbiz/branches/20120329_portletWidget/applications/party/script/org/ofbiz/party/contact/PartyContactMechServices.xml Tue Oct 30 21:19:31 2012
@@ -161,6 +161,18 @@ under the License.
         </if-empty>
         <now-timestamp field="partyContactMech.thruDate"/>
         <store-value value-field="partyContactMech"/>
+        <!--#Bam# contactMechMgmtPortlet -->
+        <get-related relation-name="PartyContactMechPurpose" list="pcmps" value-field="partyContactMech"/>
+        <if-not-empty field="pcmps">
+            <!-- Deactivate all contactMechPurpose if necessary -->
+            <iterate entry="pcmp" list="pcmps">
+                <if-empty field="pcmp.thruDate">
+                    <now-timestamp field="pcmp.thruDate"/>
+                    <store-value value-field="pcmp"/>
+                </if-empty>
+            </iterate>
+        </if-not-empty>
+        <!--#Eam# contactMechMgmtPortlet -->
     </simple-method>
 
     <simple-method method-name="createPartyPostalAddress" short-description="Create a PostalAddress for party">