コード例 #1
0
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)
コード例 #2
0
ファイル: sessions.py プロジェクト: mybasimilch/juntagrico
 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']
コード例 #3
0
ファイル: forms.py プロジェクト: mybasimilch/juntagrico
 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")),
         ))
コード例 #4
0
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)
コード例 #5
0
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)
コード例 #6
0
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)
コード例 #7
0
ファイル: admin.py プロジェクト: cfra/juntagrico
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)
コード例 #8
0
 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')
コード例 #9
0
from juntagrico.admins import BaseAdmin
from juntagrico.config import Config


class ExtraSubscriptionTypeAdmin(BaseAdmin):
    exclude = []


if not Config.enable_shares():
    ExtraSubscriptionTypeAdmin.exclude.append('shares')
コード例 #10
0
 def __init__(self, model, admin_site):
     super().__init__(model, admin_site)
     if not Config.enable_shares():
         self.exclude.append('shares')
コード例 #11
0
 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
コード例 #12
0
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)