def primary_change(request, subscription_id): ''' change primary member ''' subscription = get_object_or_404(Subscription, id=subscription_id) if request.method == 'POST': new_primary = get_object_or_404(Member, id=int(request.POST.get('primary'))) subscription.primary_member = new_primary subscription.save() return redirect('sub-detail-id', subscription_id=subscription.id) renderdict = get_menu_dict(request) if Config.enable_shares(): co_members = [ m for m in subscription.other_recipients() if m.is_cooperation_member ] else: co_members = subscription.other_recipients() renderdict.update({ 'subscription': subscription, 'co_members': co_members, 'has_comembers': len(co_members) > 0 }) return render(request, 'pm_change.html', renderdict)
def evaluate_ordered_shares(self, shares=None): if not Config.enable_shares(): # skip if no shares are needed return True shares = shares or self.count_shares() # count new shares new_main_member = getattr(self.main_member, 'new_shares', 0) new_co_members = self.get_co_member_shares() # evaluate return shares['existing_main_member'] + new_main_member > 0\ and new_main_member + new_co_members >= shares['remaining_required']
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) fields = list(self.base_layout) # keep first 9 fields if Config.enable_shares(): fields.append(Field('shares', css_class='col-md-2')) self.helper.layout = Layout( *fields, FormActions( self.get_submit_button(), LinkButton(_("Abbrechen"), reverse("sub-detail")), ))
def create_share(member, amount=1): if amount and Config.enable_shares(): for i in range(amount): share = Share.objects.create(member=member) send_share_created_mail(member, share)
from juntagrico.entity.mailing import MailTemplate from juntagrico.entity.member import Member from juntagrico.entity.share import Share from juntagrico.entity.subs import Subscription, ExtraSubBillingPeriod from juntagrico.entity.subtypes import SubscriptionSize, SubscriptionType admin.site.register(Depot, DepotAdmin) admin.site.register(ExtraSubscription, ExtraSubscriptionAdmin) admin.site.register(ExtraSubscriptionType, ExtraSubscriptionTypeAdmin) admin.site.register(ExtraSubscriptionCategory, ExtraSubscriptionCategoryAdmin) admin.site.register(SubscriptionSize, SubscriptionSizeAdmin) admin.site.register(SubscriptionType, SubscriptionTypeAdmin) admin.site.register(Assignment, AssignmentAdmin) admin.site.register(Subscription, SubscriptionAdmin) admin.site.register(Member, MemberAdmin) admin.site.register(ActivityArea, AreaAdmin) admin.site.register(MailTemplate) admin.site.register(Delivery, DeliveryAdmin) admin.site.register(JobExtra, JobExtraAdmin) admin.site.register(JobExtraType, JobExtraTypeAdmin) admin.site.register(JobType, JobTypeAdmin) admin.site.register(RecuringJob, JobAdmin) admin.site.register(OneTimeJob, OneTimeJobAdmin) admin.site.register(ListMessage, ListMessageAdmin) admin.site.register(ExtraSubBillingPeriod) if Config.enable_shares(): admin.site.register(Share, ShareAdmin) if Config.billing(): admin.site.register(Bill) admin.site.register(Payment)
def create_share(member, amount=1): if amount and Config.enable_shares(): shares = [] for i in range(amount): shares.append(Share.objects.create(member=member)) membernotification.shares_created(member, shares)
from juntagrico.entity.subs import Subscription from juntagrico.entity.subtypes import SubscriptionSize, SubscriptionType, SubscriptionProduct from juntagrico.util import addons # loading addons here so that we have the information about admin extensions stuff like inlines etc addons.load_addons() admin.site.register(Depot, DepotAdmin) admin.site.register(ExtraSubscription, ExtraSubscriptionAdmin) admin.site.register(ExtraSubscriptionType, ExtraSubscriptionTypeAdmin) admin.site.register(ExtraSubscriptionCategory, BaseAdmin) admin.site.register(SubscriptionSize, SubscriptionSizeAdmin) admin.site.register(SubscriptionType, SubscriptionTypeAdmin) admin.site.register(Assignment, AssignmentAdmin) admin.site.register(Subscription, SubscriptionAdmin) admin.site.register(Member, MemberAdminWithShares if Config.enable_shares() else MemberAdmin) admin.site.register(SubscriptionMembership, BaseAdmin) admin.site.register(ActivityArea, AreaAdmin) admin.site.register(MailTemplate) admin.site.register(Delivery, DeliveryAdmin) admin.site.register(JobExtra, BaseAdmin) admin.site.register(JobExtraType, BaseAdmin) admin.site.register(JobType, JobTypeAdmin) admin.site.register(RecuringJob, JobAdmin) admin.site.register(OneTimeJob, OneTimeJobAdmin) admin.site.register(ListMessage, ListMessageAdmin) admin.site.register(SubscriptionProduct, BaseAdmin) admin.site.register(ExtraSubBillingPeriod, BaseAdmin) if Config.enable_shares(): admin.site.register(Share, ShareAdmin)
def __init__(self, *args, **kwargs): self.inlines.extend(get_extrasubtype_inlines()) super(ExtraSubscriptionTypeAdmin, self).__init__(*args, **kwargs) if not Config.enable_shares(): self.exclude.append('shares')
from juntagrico.admins import BaseAdmin from juntagrico.config import Config class ExtraSubscriptionTypeAdmin(BaseAdmin): exclude = [] if not Config.enable_shares(): ExtraSubscriptionTypeAdmin.exclude.append('shares')
def __init__(self, model, admin_site): super().__init__(model, admin_site) if not Config.enable_shares(): self.exclude.append('shares')
def get_exclude(self, request, obj=None): if not Config.enable_shares(): return [ 'shares' ] if self.exclude is None else self.exclude.append('shares') return self.exclude
from juntagrico.entity.subs import Subscription from juntagrico.entity.subtypes import SubscriptionSize, SubscriptionType, SubscriptionProduct from juntagrico.util import addons # loading addons here so that we have the information about admin extensions stuff like inlines etc addons.load_addons() admin.site.register(Depot, DepotAdmin) admin.site.register(ExtraSubscription, ExtraSubscriptionAdmin) admin.site.register(ExtraSubscriptionType, ExtraSubscriptionTypeAdmin) admin.site.register(ExtraSubscriptionCategory, BaseAdmin) admin.site.register(SubscriptionSize, SubscriptionSizeAdmin) admin.site.register(SubscriptionType, SubscriptionTypeAdmin) admin.site.register(Assignment, AssignmentAdmin) admin.site.register(Subscription, SubscriptionAdmin) admin.site.register( Member, MemberAdminWithShares if Config.enable_shares() else MemberAdmin) admin.site.register(ActivityArea, AreaAdmin) admin.site.register(MailTemplate) admin.site.register(Delivery, DeliveryAdmin) admin.site.register(JobExtra, BaseAdmin) admin.site.register(JobExtraType, BaseAdmin) admin.site.register(JobType, JobTypeAdmin) admin.site.register(RecuringJob, JobAdmin) admin.site.register(OneTimeJob, OneTimeJobAdmin) admin.site.register(ListMessage, ListMessageAdmin) admin.site.register(SubscriptionProduct, BaseAdmin) admin.site.register(ExtraSubBillingPeriod, BaseAdmin) if Config.enable_shares(): admin.site.register(Share, ShareAdmin)