def approve_join(self, request, **kwargs): self.approved = True self.approved_denied_dt = datetime.now() if not request.user.is_anonymous(): self.approved_denied_user = request.user self.status = 1 self.status_detail = 'active' self.save() created, username, password = self.handle_anonymous_creator(**kwargs) # send an email to dues reps recipients = dues_rep_emails_list(self) recipients.append(self.creator.email) extra_context = { 'object': self, 'request': request, 'invoice': self.invoice, 'created': created, 'username': username, 'password': password } send_email_notification('corp_memb_join_approved', recipients, extra_context)
def approve_join(self, request, **kwargs): self.approved = True self.approved_denied_dt = datetime.now() if not request.user.is_anonymous(): self.approved_denied_user = request.user self.status = 1 self.status_detail = 'active' self.save() created, username, password = self.handle_anonymous_creator(**kwargs) # send an email to dues reps recipients = dues_rep_emails_list(self) recipients.append(self.creator.email) extra_context = { 'object': self, 'request': request, 'invoice': self.invoice, 'created': created, 'username': username, 'password': password } send_email_notification('corp_memb_join_approved', recipients, extra_context)
def approve_renewal(self, request, **kwargs): """ Approve the corporate membership renewal, and approve the individual memberships that are renewed with the corporate_membership """ from tendenci.addons.corporate_memberships.utils import dues_rep_emails_list if self.renew_entry_id: renew_entry = CorpMembRenewEntry.objects.get(id=self.renew_entry_id) if renew_entry.status_detail not in ['approved', 'disapproved']: # 1) archive corporate membership self.archive(request.user) user = request.user # 2) update the corporate_membership record with the renewal info from renew_entry self.renewal = True self.corporate_membership_type = renew_entry.corporate_membership_type self.payment_method = renew_entry.get_payment_method() self.invoice = renew_entry.invoice self.renew_dt = renew_entry.create_dt self.approved = True self.approved_denied_dt = datetime.now() if user and (not user.is_anonymous()): self.approved_denied_user = user self.status = 1 self.status_detail = 'active' corp_memb_type = self.corporate_membership_type self.expiration_dt = corp_memb_type.get_expiration_dt(renewal=True, join_dt=self.join_dt, renew_dt=self.renew_dt) self.save() renew_entry.status_detail = 'approved' renew_entry.save() # 3) approve the individual memberships if user and not user.is_anonymous(): user_id = user.id username = user.username else: user_id = 0 username = '' group = self.corporate_membership_type.membership_type.group ind_memb_renew_entries = IndivMembRenewEntry.objects.filter(corp_memb_renew_entry=renew_entry) for memb_entry in ind_memb_renew_entries: membership = memb_entry.membership membership.archive(user) # update the membership record with the renewal info membership.renewal = True membership.renew_dt = self.renew_dt membership.expiration_dt = self.expiration_dt membership.corporate_membership_id = self.id membership.membership_type = self.corporate_membership_type.membership_type membership.status = 1 membership.status_detail = 'active' membership.save() # check and add member to the group if not exist try: gm = GroupMembership.objects.get(group=group, member=membership.user) except GroupMembership.DoesNotExist: gm = None if gm: if gm.status_detail != 'active': gm.status_detail = 'active' gm.save() else: GroupMembership.objects.create(**{ 'group':group, 'member':membership.user, 'creator_id': user_id, 'creator_username': username, 'owner_id':user_id, 'owner_username':username, 'status':True, 'status_detail':'active', }) # email dues reps that corporate membership has been approved recipients = dues_rep_emails_list(self) if not recipients and self.creator: recipients = [self.creator.email] extra_context = { 'object': self, 'request': request, 'corp_renew_entry': renew_entry, 'invoice': renew_entry.invoice, } send_email_notification('corp_memb_renewal_approved', recipients, extra_context)
def approve_renewal(self, request, **kwargs): """ Approve the corporate membership renewal, and approve the individual memberships that are renewed with the corporate_membership """ from tendenci.addons.corporate_memberships.utils import dues_rep_emails_list if self.renew_entry_id: renew_entry = CorpMembRenewEntry.objects.get( id=self.renew_entry_id) if renew_entry.status_detail not in ['approved', 'disapproved']: # 1) archive corporate membership self.archive(request.user) user = request.user # 2) update the corporate_membership record with the renewal info from renew_entry self.renewal = True self.corporate_membership_type = renew_entry.corporate_membership_type self.payment_method = renew_entry.get_payment_method() self.invoice = renew_entry.invoice self.renew_dt = renew_entry.create_dt self.approved = True self.approved_denied_dt = datetime.now() if user and (not user.is_anonymous()): self.approved_denied_user = user self.status = 1 self.status_detail = 'active' corp_memb_type = self.corporate_membership_type self.expiration_dt = corp_memb_type.get_expiration_dt( renewal=True, join_dt=self.join_dt, renew_dt=self.renew_dt) self.save() renew_entry.status_detail = 'approved' renew_entry.save() # 3) approve the individual memberships if user and not user.is_anonymous(): user_id = user.id username = user.username else: user_id = 0 username = '' group = self.corporate_membership_type.membership_type.group ind_memb_renew_entries = IndivMembRenewEntry.objects.filter( corp_memb_renew_entry=renew_entry) for memb_entry in ind_memb_renew_entries: membership = memb_entry.membership membership.archive(user) # update the membership record with the renewal info membership.renewal = True membership.renew_dt = self.renew_dt membership.expiration_dt = self.expiration_dt membership.corporate_membership_id = self.id membership.membership_type = self.corporate_membership_type.membership_type membership.status = 1 membership.status_detail = 'active' membership.save() # check and add member to the group if not exist try: gm = GroupMembership.objects.get( group=group, member=membership.user) except GroupMembership.DoesNotExist: gm = None if gm: if gm.status_detail != 'active': gm.status_detail = 'active' gm.save() else: GroupMembership.objects.create( **{ 'group': group, 'member': membership.user, 'creator_id': user_id, 'creator_username': username, 'owner_id': user_id, 'owner_username': username, 'status': True, 'status_detail': 'active', }) # email dues reps that corporate membership has been approved recipients = dues_rep_emails_list(self) if not recipients and self.creator: recipients = [self.creator.email] extra_context = { 'object': self, 'request': request, 'corp_renew_entry': renew_entry, 'invoice': renew_entry.invoice, } send_email_notification('corp_memb_renewal_approved', recipients, extra_context)