Commit | Line | Data |
---|---|---|
6a488035 TO |
1 | {* |
2 | +--------------------------------------------------------------------+ | |
819d0d41 | 3 | | CiviCRM version 4.5 | |
6a488035 | 4 | +--------------------------------------------------------------------+ |
819d0d41 | 5 | | Copyright CiviCRM LLC (c) 2004-2014 | |
6a488035 TO |
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 *} | |
239dac31 CW |
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} | |
6a488035 | 50 | {foreach from=$viewNote item="rec"} |
239dac31 CW |
51 | {if $rec } |
52 | <tr><td class="label">{ts}Note{/ts}</td><td>{$rec}</td></tr> | |
6a488035 | 53 | {/if} |
239dac31 CW |
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> | |
6a488035 | 83 | {/foreach} |
239dac31 CW |
84 | </table> |
85 | {include file="CRM/Custom/Page/CustomDataView.tpl"} | |
86 | </div> | |
6a488035 TO |
87 | {/if} |
88 | ||
239dac31 | 89 | {if $action eq 2 or $action eq 1} {* add and update actions *} |
6a488035 | 90 | <div class="crm-block crm-form-block crm-relationship-form-block"> |
239dac31 CW |
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> | |
379d96db | 98 | <td>{$form.related_contact_id.html}</td> |
239dac31 CW |
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} | |
3cc60a06 | 146 | CRM.$(function($) { |
239dac31 | 147 | var |
b50fdacc | 148 | $form = $("form.{/literal}{$form.formClass}{literal}"), |
239dac31 CW |
149 | relationshipData = {/literal}{$relationshipData|@json_encode}{literal}; |
150 | $('[name=relationship_type_id]', $form).change(function() { | |
151 | var | |
152 | val = $(this).val(), | |
379d96db | 153 | $contactField = $('#related_contact_id[type=text]', $form); |
239dac31 CW |
154 | if (!val && $contactField.length) { |
155 | $contactField | |
156 | .prop('disabled', true) | |
379d96db CW |
157 | .attr('placeholder', {/literal}'{ts escape='js'}- first select relationship type -{/ts}'{literal}) |
158 | .change(); | |
239dac31 CW |
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) { | |
379d96db | 170 | var api = {params: {}}; |
239dac31 | 171 | if (contact_type) { |
379d96db | 172 | api.params.contact_type = contact_type; |
239dac31 CW |
173 | } |
174 | if (contact_sub_type) { | |
379d96db | 175 | api.params.contact_sub_type = contact_sub_type; |
239dac31 | 176 | } |
379d96db CW |
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); | |
239dac31 CW |
179 | $contactField |
180 | .val('') | |
181 | .prop('disabled', false) | |
379d96db CW |
182 | .data('api-params', api) |
183 | .attr('placeholder', relationshipData[rType]['placeholder_' + target]) | |
184 | .change(); | |
239dac31 | 185 | } |
6a488035 | 186 | |
239dac31 CW |
187 | // Show/hide employer field |
188 | $('.crm-relationship-form-block-is_current_employer', $form).toggle(rType === {/literal}'{$employmentRelationship}'{literal}); | |
6a488035 | 189 | |
239dac31 CW |
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); | |
6a488035 | 193 | |
239dac31 CW |
194 | CRM.buildCustomData('Relationship', rType); |
195 | } | |
196 | }).change(); | |
197 | }); | |
198 | {/literal} | |
199 | </script> | |
6a488035 TO |
200 | {/if} |
201 | ||
202 | {if $action eq 8} | |
239dac31 CW |
203 | <div class="status"> |
204 | {ts}Are you sure you want to delete this Relationship?{/ts} | |
205 | </div> | |
6a488035 | 206 | {/if} |
239dac31 | 207 | <div class="crm-submit-buttons">{include file="CRM/common/formButtons.tpl" location="bottom"}</div> |
6a488035 TO |
208 | {/if} {* close of custom data else*} |
209 |