Commit | Line | Data |
---|---|---|
d292601b AH |
1 | cj(function($) { |
2 | memberResults = new Array; | |
3 | $("input[name='contact[1]']").result( function() { | |
4 | var contact_id = cj("input[name='contact_select_id[1]']").val(); | |
5 | CRM.api('Membership', 'get', {'sequential': 1, 'contact_id': contact_id}, | |
6 | {success: function(data) { | |
7 | if (data['values']) { | |
8 | memberResults = data['values']; | |
9 | checkExistingMemOrg(); | |
10 | } | |
11 | }}); | |
8f3027b4 | 12 | }); |
d292601b AH |
13 | |
14 | checkExistingMemOrg(); | |
15 | ||
8f3027b4 | 16 | $("select[name='membership_type_id[0]']").change( checkExistingMemOrg ); |
d292601b AH |
17 | |
18 | function checkExistingMemOrg () { | |
19 | if (memberResults) { | |
20 | var selectedorg = $("select[name='membership_type_id[0]']").val(); | |
21 | $.each(memberResults, function() { | |
22 | if (this['membership_type_id'] in CRM.existingMems.typeorgs) { | |
23 | if (CRM.existingMems.typeorgs[this['membership_type_id']] == selectedorg) { | |
24 | if(this['status_id'] in CRM.existingMems.statuses) { | |
25 | var membership_status = CRM.existingMems.statuses[this['status_id']]; | |
26 | var andEndDate = ''; | |
27 | var endDate = this.membership_end_date; | |
28 | if (endDate) { | |
8f3027b4 | 29 | andEndDate = ' ' + ts("and end date of %1", {1:endDate}); |
d292601b AH |
30 | } |
31 | ||
32 | var renewUrl = CRM.url('civicrm/contact/view/membership', | |
33 | "reset=1&action=renew&cid="+this.contact_id+"&id="+this['id']+"&context=membership&selectedChild=member" | |
34 | ); | |
35 | ||
36 | var membershipTab = CRM.url('civicrm/contact/view', | |
37 | "reset=1&force=1&cid="+this.contact_id+"&selectedChild=member" | |
38 | ); | |
39 | ||
40 | CRM.alert(ts('This contact has an existing %1 membership record with %2 status%3.<ul><li><a href="%4">Renew the existing membership instead</a></li><li><a href="%5">View all existing and / or expired memberships for this contact</a></li></ul>', {1:CRM.existingMems.memtypes[this.membership_type_id], 2:membership_status, 3:andEndDate, 4:renewUrl, 5:membershipTab}), ts('Duplicate Membership?'), 'alert'); | |
41 | } | |
42 | } | |
43 | } | |
44 | }); | |
45 | } | |
46 | } | |
47 | }); |