2 var alert
, memberResults
= [];
4 function fetchMemberships() {
5 var cid
= $("#contact_id").val();
7 CRM
.api3('Membership', 'get', {'sequential': 1, 'contact_id': cid
})
8 .done(function (data
) {
9 memberResults
= data
['values'] || [];
10 checkExistingMemOrg();
19 $("#contact_id").change(fetchMemberships
);
20 $("select[name='membership_type_id[0]']").change(checkExistingMemOrg
);
22 function checkExistingMemOrg () {
23 alert
&& alert
.close
&& alert
.close();
24 var selectedorg
= $("select[name='membership_type_id[0]']").val();
25 if (memberResults
.length
&& selectedorg
) {
26 $.each(memberResults
, function() {
27 if (this['membership_type_id'] in CRM
.existingMems
.typeorgs
) {
28 if (CRM
.existingMems
.typeorgs
[this['membership_type_id']] == selectedorg
) {
29 if(this['status_id'] in CRM
.existingMems
.statuses
) {
30 var membership_status
= CRM
.existingMems
.statuses
[this['status_id']];
33 andEndDate
= ' ' + ts("and end date of %1", {1:this.end_date
});
36 var renewUrl
= CRM
.url('civicrm/contact/view/membership',
37 "reset=1&action=renew&cid="+this.contact_id
+"&id="+this['id']+"&context=membership&selectedChild=member"
40 var membershipTab
= CRM
.url('civicrm/contact/view',
41 "reset=1&force=1&cid="+this.contact_id
+"&selectedChild=member"
44 var org
= $('option:selected', "select[name='membership_type_id[0]']").text();
47 ts('This contact has an existing %1 membership at %2 with %3 status%4.', {1: CRM
.existingMems
.memtypes
[this.membership_type_id
], 2: org
, 3: membership_status
, 4: andEndDate
})
48 + '<ul><li><a href="' + renewUrl
+ '">'
49 + ts('Renew the existing membership instead')
50 + '</a></li><li><a href="' + membershipTab
+ '">'
51 + ts('View all existing and / or expired memberships for this contact')
53 ts('Duplicate Membership?'), 'alert');