commiting uncommited changes on live site
[weblabels.fsf.org.git] / crm.fsf.org / 20131203 / files / sites / all / modules-old / civicrm / templates / CRM / Member / Form / MembershipStandalone.js
1 CRM.$(function($) {
2 var alert, memberResults = [];
3
4 function fetchMemberships() {
5 var cid = $("#contact_id").val();
6 if (cid) {
7 CRM.api3('Membership', 'get', {'sequential': 1, 'contact_id': cid})
8 .done(function (data) {
9 memberResults = data['values'] || [];
10 checkExistingMemOrg();
11 });
12 } else {
13 memberResults = [];
14 }
15 }
16
17 fetchMemberships();
18
19 $("#contact_id").change(fetchMemberships);
20 $("select[name='membership_type_id[0]']").change(checkExistingMemOrg);
21
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']];
31 var andEndDate = '';
32 if (this.end_date) {
33 andEndDate = ' ' + ts("and end date of %1", {1:this.end_date});
34 }
35
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"
38 );
39
40 var membershipTab = CRM.url('civicrm/contact/view',
41 "reset=1&force=1&cid="+this.contact_id+"&selectedChild=member"
42 );
43
44 var org = $('option:selected', "select[name='membership_type_id[0]']").text();
45
46 alert = CRM.alert(
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')
52 + '</a></li></ul>',
53 ts('Duplicate Membership?'), 'alert');
54 return false;
55 }
56 }
57 }
58 });
59 }
60 }
61 });