Merge remote-tracking branch 'upstream/4.4' into 4.4-master-2014-07-14-13-42-39
[civicrm-core.git] / templates / CRM / Contact / Form / Relationship.tpl
1 {*
2 +--------------------------------------------------------------------+
3 | CiviCRM version 4.5 |
4 +--------------------------------------------------------------------+
5 | Copyright CiviCRM LLC (c) 2004-2014 |
6 +--------------------------------------------------------------------+
7 | This file is a part of CiviCRM. |
8 | |
9 | CiviCRM is free software; you can copy, modify, and distribute it |
10 | under the terms of the GNU Affero General Public License |
11 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
12 | |
13 | CiviCRM is distributed in the hope that it will be useful, but |
14 | WITHOUT ANY WARRANTY; without even the implied warranty of |
15 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
16 | See the GNU Affero General Public License for more details. |
17 | |
18 | You should have received a copy of the GNU Affero General Public |
19 | License and the CiviCRM Licensing Exception along |
20 | with this program; if not, contact CiviCRM LLC |
21 | at info[AT]civicrm[DOT]org. If you have questions about the |
22 | GNU Affero General Public License or the licensing of CiviCRM, |
23 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
24 +--------------------------------------------------------------------+
25 *}
26 {* this template is used for adding/editing/viewing relationships *}
27 {if $cdType }
28 {include file="CRM/Custom/Form/CustomData.tpl"}
29 {else}
30 {if $action eq 4 } {* action = view *}
31 <div class="crm-block crm-content-block crm-relationship-view-block">
32 <table class="crm-info-panel">
33 {foreach from=$viewRelationship item="row"}
34 <tr>
35 <td class="label">{$row.relation}</td>
36 <td><a class="no-popup" href="{crmURL p='civicrm/contact/view' q="reset=1&cid=`$row.cid`"}">{$row.name}</a></td>
37 </tr>
38 {if $isCurrentEmployer}
39 <tr><td class="label">{ts}Current Employee?{/ts}</td><td>{ts}Yes{/ts}</td></tr>
40 {/if}
41 {if $row.start_date}
42 <tr><td class="label">{ts}Start Date{/ts}</td><td>{$row.start_date|crmDate}</td></tr>
43 {/if}
44 {if $row.end_date}
45 <tr><td class="label">{ts}End Date{/ts}</td><td>{$row.end_date|crmDate}</td></tr>
46 {/if}
47 {if $row.description}
48 <tr><td class="label">{ts}Description{/ts}</td><td>{$row.description}</td></tr>
49 {/if}
50 {foreach from=$viewNote item="rec"}
51 {if $rec }
52 <tr><td class="label">{ts}Note{/ts}</td><td>{$rec}</td></tr>
53 {/if}
54 {/foreach}
55 <tr>
56 <td class="label"><label>{ts}Permissions{/ts}</label></td>
57 <td>
58 {if $row.is_permission_a_b or $row.is_permission_b_a}
59 {if $row.is_permission_a_b}
60 <div>
61 {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
62 {ts 1=$displayName 2=$row.display_name}<strong>%1</strong> can view and update information about %2.{/ts}
63 {else}
64 {ts 1=$row.display_name 2=$displayName}<strong>%1</strong> can view and update information about %2.{/ts}
65 {/if}
66 </div>
67 {/if}
68 {if $row.is_permission_b_a}
69 <div>
70 {if $row.rtype EQ 'a_b' AND $is_contact_id_a}
71 {ts 1=$row.display_name 2=$displayName}<strong>%1</strong> can view and update information about %2.{/ts}
72 {else}
73 {ts 1=$displayName 2=$row.display_name}<strong>%1</strong> can view and update information about %2.{/ts}
74 {/if}
75 </div>
76 {/if}
77 {else}
78 {ts}None{/ts}
79 {/if}
80 </td>
81 </tr>
82 <tr><td class="label">{ts}Status{/ts}</td><td>{if $row.is_active}{ts}Enabled{/ts}{else}{ts}Disabled{/ts}{/if}</td></tr>
83 {/foreach}
84 </table>
85 {include file="CRM/Custom/Page/CustomDataView.tpl"}
86 </div>
87 {/if}
88
89 {if $action eq 2 or $action eq 1} {* add and update actions *}
90 <div class="crm-block crm-form-block crm-relationship-form-block">
91 <table class="form-layout-compressed">
92 <tr class="crm-relationship-form-block-relationship_type_id">
93 <td class="label">{$form.relationship_type_id.label}</td>
94 <td>{$form.relationship_type_id.html}</td>
95 </tr>
96 <tr class="crm-relationship-form-block-related_contact_id">
97 <td class="label">{$form.related_contact_id.label}</td>
98 <td>{$form.related_contact_id.html}</td>
99 </tr>
100 <tr class="crm-relationship-form-block-is_current_employer" style="display:none;">
101 <td class="label">{$form.is_current_employer.label}</td>
102 <td>{$form.is_current_employer.html}</td>
103 </tr>
104 <tr class="crm-relationship-form-block-start_date">
105 <td class="label">{$form.start_date.label}</td>
106 <td>{include file="CRM/common/jcalendar.tpl" elementName=start_date}<span>{$form.end_date.label} {include file="CRM/common/jcalendar.tpl" elementName=end_date}</span><br />
107 <span class="description">{ts}If this relationship has start and/or end dates, specify them here.{/ts}</span></td>
108 </tr>
109 <tr class="crm-relationship-form-block-description">
110 <td class="label">{$form.description.label}</td>
111 <td>{$form.description.html}</td>
112 </tr>
113 <tr class="crm-relationship-form-block-note">
114 <td class="label">{$form.note.label}</td>
115 <td>{$form.note.html}</td>
116 </tr>
117 <tr class="crm-relationship-form-block-is_permission_a_b">
118 {capture assign="contact_b"}{if $action eq 1}{ts}selected contact(s){/ts}{else}{$display_name_b}{/if}{/capture}
119 <td class="label"><label>{ts}Permissions{/ts}</label></td>
120 <td>
121 {$form.is_permission_a_b.html}
122 {ts 1=$display_name_a 2=$contact_b}<strong>%1</strong> can view and update information about %2.{/ts}
123 </td>
124 </tr>
125 <tr class="crm-relationship-form-block-is_permission_b_a">
126 <td class="label"></td>
127 <td>
128 {$form.is_permission_b_a.html}
129 {ts 1=$contact_b|ucfirst 2=$display_name_a}<strong>%1</strong> can view and update information about %2.{/ts}
130 </td>
131 </tr>
132 <tr class="crm-relationship-form-block-is_active">
133 <td class="label">{$form.is_active.label}</td>
134 <td>{$form.is_active.html}</td>
135 </tr>
136 </table>
137 <div id="customData"></div>
138 <div class="spacer"></div>
139 </div>
140 {/if}
141 {if ($action EQ 1) OR ($action EQ 2) }
142 {*include custom data js file - setting includeWysiwygEditor=TRUE because it's already been loaded*}
143 {include file="CRM/common/customData.tpl" includeWysiwygEditor=TRUE}
144 <script type="text/javascript">
145 {literal}
146 CRM.$(function($) {
147 var
148 $form = $("form#{/literal}{$form.formName}{literal}"),
149 relationshipData = {/literal}{$relationshipData|@json_encode}{literal};
150 $('[name=relationship_type_id]', $form).change(function() {
151 var
152 val = $(this).val(),
153 $contactField = $('#related_contact_id[type=text]', $form);
154 if (!val && $contactField.length) {
155 $contactField
156 .prop('disabled', true)
157 .attr('placeholder', {/literal}'{ts escape='js'}- first select relationship type -{/ts}'{literal})
158 .change();
159 }
160 else if (val) {
161 var
162 pieces = val.split('_'),
163 rType = pieces[0],
164 source = pieces[1], // a or b
165 target = pieces[2], // b or a
166 contact_type = relationshipData[rType]['contact_type_' + target],
167 contact_sub_type = relationshipData[rType]['contact_sub_type_' + target];
168 // ContactField only exists for ADD action, not update
169 if ($contactField.length) {
170 var api = {params: {}};
171 if (contact_type) {
172 api.params.contact_type = contact_type;
173 }
174 if (contact_sub_type) {
175 api.params.contact_sub_type = contact_sub_type;
176 }
177 // Todo: pass sub-type to new contact profile otherwise relationship create will fail. Disabling it completely for now.
178 $contactField.data('create-links', !contact_sub_type);
179 $contactField
180 .val('')
181 .prop('disabled', false)
182 .data('api-params', api)
183 .attr('placeholder', relationshipData[rType]['placeholder_' + target])
184 .change();
185 }
186
187 // Show/hide employer field
188 $('.crm-relationship-form-block-is_current_employer', $form).toggle(rType === {/literal}'{$employmentRelationship}'{literal});
189
190 // Swap the permission checkboxes to match selected relationship direction
191 $('#is_permission_a_b', $form).attr('name', 'is_permission_' + source + '_' + target);
192 $('#is_permission_b_a', $form).attr('name', 'is_permission_' + target + '_' + source);
193
194 CRM.buildCustomData('Relationship', rType);
195 }
196 }).change();
197 });
198 {/literal}
199 </script>
200 {/if}
201
202 {if $action eq 8}
203 <div class="status">
204 {ts}Are you sure you want to delete this Relationship?{/ts}
205 </div>
206 {/if}
207 <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div>
208 {/if} {* close of custom data else*}
209