def get_context_data(self, **kwargs): context = super(OverviewView, self).get_context_data(**kwargs) context["user"] = self.request.user context["user_sponsorings"] = Sponsoring.objects.filter( owner=self.request.user, commitment=True, year=getActiveYear(self.request), ) context["user_sponsoring_member"] = Sponsoring.objects.filter(participants=self.request.user,year=getActiveYear(self.request)) context["user_exhibitors"] = Exhibitor.objects.filter(year=getActiveYear(self.request)).filter(Q(owner=self.request.user) | Q(participants=self.request.user)).distinct() context["user_devrooms"] = Devroom.objects.filter(year=getActiveYear(self.request)).filter(Q(owner=self.request.user) | Q(participants=self.request.user)).distinct() return context
def queryParcelOwners(request): response = [] if request.GET.has_key("q"): query = request.GET["q"] activeYear = getActiveYear(request) # find companies with matching name res = Sponsoring.objects.filter(contact__companyName__icontains=query,year=activeYear) response = response + [ { "identifier" : s.contact.companyName, "type" : unicode(_("Sponsor")), "contentType_id" : ContentType.objects.get_for_model(Sponsoring).id, "obj_id" : s.pk, } for s in res ] res = Exhibitor.objects.filter(projectName__icontains=query,year=activeYear) response = response + [ { "identifier" : p.projectName, "type" : unicode(_("Exhibitor")), "contentType_id" : ContentType.objects.get_for_model(Exhibitor).id, "obj_id" : p.pk, } for p in res ] res = Devroom.objects.filter(projectName__icontains=query,year=activeYear) response = response + [ { "identifier" : p.projectName, "type" : unicode(_("Devroom")), "contentType_id" : ContentType.objects.get_for_model(Devroom).id, "obj_id" : p.pk, } for p in res ] return HttpResponse(json.dumps(response), content_type="application/json")
def get_redirect_url(self, **kwargs): # check if this is a sponsor account: try: sponsor = Sponsoring.objects.get( owner=self.request.user, commitment=True, year=getActiveYear(self.request), ) return reverse("sponsor_overview", kwargs = { "pk" : sponsor.id }) except: # if there is none or multiple sponsorships return reverse("overview")
def get_context_data(self, **kwargs): context = super(OverviewView, self).get_context_data(**kwargs) context["user"] = self.request.user context["user_sponsorings"] = Sponsoring.objects.filter( owner=self.request.user, commitment=True, year=getActiveYear(self.request), ) context["user_sponsoring_member"] = Sponsoring.objects.filter( participants=self.request.user, year=getActiveYear(self.request)) context["user_projects"] = Project.objects.filter( year=getActiveYear(self.request)).filter( Q(owner=self.request.user) | Q(participants=self.request.user)).distinct() context["user_devrooms"] = Devroom.objects.filter( year=getActiveYear(self.request)).filter( Q(owner=self.request.user) | Q(participants=self.request.user)).distinct() return context
def get_redirect_url(self, **kwargs): # check if this is a sponsor account: try: sponsor = Sponsoring.objects.get( owner=self.request.user, commitment=True, year=getActiveYear(self.request), ) return reverse("sponsor_overview", kwargs={"pk": sponsor.id}) except: # if there is none or multiple sponsorships return reverse("overview")
def form_valid(self, form): currentYear = getActiveYear(self.request) selectedYear = form.cleaned_data["fromYear"].year packagesToBeImported = SponsorPackage.objects.filter(year=selectedYear) for package in packagesToBeImported: # The django way of copying a model is to set pk=None o_O package.pk = None package.year = currentYear package.save() return redirect(self.success_url)
def queryParcelOwners(request): response = [] if request.GET.has_key("q"): query = request.GET["q"] activeYear = getActiveYear(request) # find companies with matching name res = Sponsoring.objects.filter(contact__companyName__icontains=query, year=activeYear) response = response + [ { "identifier": s.contact.companyName, "type": unicode(_("Sponsor")), "contentType_id": ContentType.objects.get_for_model(Sponsoring).id, "obj_id": s.pk, } for s in res ] res = Exhibitor.objects.filter(projectName__icontains=query, year=activeYear) response = response + [ { "identifier": p.projectName, "type": unicode(_("Exhibitor")), "contentType_id": ContentType.objects.get_for_model(Exhibitor).id, "obj_id": p.pk, } for p in res ] res = Devroom.objects.filter(projectName__icontains=query, year=activeYear) response = response + [ { "identifier": p.projectName, "type": unicode(_("Devroom")), "contentType_id": ContentType.objects.get_for_model(Devroom).id, "obj_id": p.pk, } for p in res ] return HttpResponse(json.dumps(response), content_type="application/json")
def form_valid(self, form): # create a new user for this sponsor try: sp = transaction.savepoint() baseContact = form.cleaned_data["sponsorContact"] try: user = User.objects.get( username=form.cleaned_data["sponsorUsername"]) except User.DoesNotExist: user = User(username=form.cleaned_data["sponsorUsername"]) user.first_name = baseContact.contactPersonFirstname user.last_name = baseContact.contactPersonSurname user.email = baseContact.contactPersonEmail user.save() profile = UserProfile(user=user) profile.authToken = id_generator(24) profile.save() sponsoring = Sponsoring() sponsoring.owner = user sponsoring.year = getActiveYear(self.request) sponsoring.contact = baseContact sponsoring.package = form.cleaned_data["sponsorPackage"] sponsoring.adminComment = form.cleaned_data["internalComment"] sponsoring.save() self.object = sponsoring transaction.savepoint_commit(sp) except Exception as e: transaction.savepoint_rollback(sp) raise e return HttpResponseRedirect(self.get_success_url())
def active_year_processor(request): return { 'active_year': getActiveYear(request), 'all_years': getAllYears(), }
form_class = SponsorPackageForm, template_name = "sponsor/package/update.html", success_url = "./{id}")), name = "sponsorpackage_new"), url(r'^(?P<pk>[0-9]+)$', user_is_staff(UpdateView.as_view( model = SponsorPackage, form_class = SponsorPackageForm, template_name = "sponsor/package/update.html", success_url = "list")), name = "sponsorpackage_update"), url(r'^list/?', user_is_staff(MultipleListView.as_view( template_name = "sponsor/package/list.html", template_params = { "object_list" : lambda req, kwargs : SponsorPackage.objects.filter(year=getActiveYear(req)), "importerForm" : lambda req, kwargs : PackagesImporterForm(), })), name="sponsorpackage_list"), url(r'^del/(?P<pk>[0-9]+)$', user_is_staff(DeleteView.as_view( model = SponsorPackage, template_name= "sponsor/package/del.html", success_url="../list")), name="sponsorpackage_del"), url(r'^export/xml', user_is_staff(YSXMLListView.as_view( queryset = SponsorPackage.objects.all(), template_name = "sponsor/package/xmlexport.html")), name="sponsorpackage_export_xml"), url(r"^import$",
from django.views.generic import ListView from invoice import views from invoice.models import Invoice from sabot.decorators import user_is_finance, user_is_staff from sabot.multiYear import getActiveYear from sabot.views import PropertySetterView, MultipleListView, ObjectFileDownloader from sponsor.models import Sponsoring urlpatterns = [ url(r"^invoices$", user_is_staff( MultipleListView.as_view(template_params={ "object_list": lambda req, kwargs: Sponsoring.objects.select_related().filter( year=getActiveYear(req), commitment=True, clearedForBilling=True), "today": lambda req, kwargs: datetime.date.today(), }, template_name="invoice/invoices.html")), name="invoice_overview"), url(r"^create/(?P<spk>\d+)$", user_is_finance( views.InvoiceCreateUpdateView.as_view( next_view="invoice_overview")), name="invoice_create"), url(r"^downloadinvoice/(?P<pk>\d+)$", user_is_staff( ObjectFileDownloader.as_view(model=Invoice,
from django.conf.urls import url from django.views.generic import ListView from invoice import views from invoice.models import Invoice from sabot.decorators import user_is_finance, user_is_staff from sabot.multiYear import getActiveYear from sabot.views import PropertySetterView, MultipleListView, ObjectFileDownloader from sponsor.models import Sponsoring urlpatterns = [ url(r"^invoices$", user_is_staff(MultipleListView.as_view( template_params = { "object_list" : lambda req, kwargs : Sponsoring.objects.select_related().filter( year=getActiveYear(req), commitment=True, clearedForBilling=True ), "today" : lambda req, kwargs : datetime.date.today(), }, template_name = "invoice/invoices.html")), name = "invoice_overview"), url(r"^create/(?P<spk>\d+)$", user_is_finance(views.InvoiceCreateUpdateView.as_view( next_view="invoice_overview")), name = "invoice_create"), url(r"^downloadinvoice/(?P<pk>\d+)$", user_is_staff(ObjectFileDownloader.as_view( model = Invoice, upload_field = "pdf",
def active_year_processor(request): return { 'active_year' : getActiveYear(request), 'all_years' : getAllYears(), }
from parcel.forms import ParcelAdminForm from parcel.models import Parcel from parcel.views import queryParcelOwners, packageQuickStore from sabot.decorators import user_is_finance, user_is_staff from sabot.multiYear import getActiveYear, YSCreateView from sabot.views import MultipleListView from sponsor.models import Sponsoring urlpatterns = [ url(r'^list/?', user_is_staff( MultipleListView.as_view(template_params={ "object_list": lambda req, kwargs: Sponsoring.objects.filter( year=getActiveYear(req)).select_related(), "parcel_list": lambda req, kwargs: Parcel.objects.filter(year=getActiveYear( req)).select_related(), }, template_name="parcel/admin/list.html")), name="parcel_list"), url(r'^new', user_is_staff( YSCreateView.as_view(model=Parcel, form_class=ParcelAdminForm, template_name="parcel/admin/update.html", success_url="parcel_list")), name="parcel_new"), url(r'^(?P<pk>[0-9]+)$', user_is_staff(
from django.views.generic import ListView, CreateView, DeleteView, UpdateView from parcel.forms import ParcelAdminForm from parcel.models import Parcel from parcel.views import queryParcelOwners, packageQuickStore from sabot.decorators import user_is_finance, user_is_staff from sabot.multiYear import getActiveYear, YSCreateView from sabot.views import MultipleListView from sponsor.models import Sponsoring urlpatterns = [ url(r'^list/?', user_is_staff(MultipleListView.as_view( template_params = { "object_list" : lambda req, kwargs : Sponsoring.objects.filter(year=getActiveYear(req)).select_related(), "parcel_list" : lambda req, kwargs : Parcel.objects.filter(year=getActiveYear(req)).select_related(), }, template_name = "parcel/admin/list.html")), name = "parcel_list"), url(r'^new', user_is_staff(YSCreateView.as_view( model = Parcel, form_class = ParcelAdminForm, template_name = "parcel/admin/update.html", success_url = "parcel_list")), name = "parcel_new"), url(r'^(?P<pk>[0-9]+)$', user_is_staff(UpdateView.as_view( model = Parcel,
url(r'^(?P<pk>[0-9]+)/faq$', login_required(TemplateView.as_view( template_name = "sponsor/internalFaqPage.html")), name="sponsor_faq"), url(r'^participants/remove/(?P<pk>[0-9]+)$', login_required(PermCheckSimpleDeleteView.as_view( model = SponsoringParticipants, permission_checker = lambda obj, user: obj.project.has_write_permission(user), redirect = lambda obj, kwargs: reverse("sponsor_participants", kwargs = { "pk" : obj.project_id }) )), name="sponsor_participants_delete"), url(r'^list/?', user_is_staff(MultipleListView.as_view( template_name = "sponsor/sponsoring/list.html", template_params = { "object_list" : lambda req, kwargs : Sponsoring.objects.filter( year=getActiveYear(req), ).select_related(), "moneyRaised" : lambda req, kwargs : Sponsoring.objects.filter( commitment=True, year=getActiveYear(req), ).aggregate(total_sum=Sum("package__price"))["total_sum"], "wantRecruiting" : lambda req, kwargs : Sponsoring.objects.filter( wantRecruting=True, commitment=True, year=getActiveYear(req), ).count(), "noRecruiting" : lambda req, kwargs : Sponsoring.objects.filter( wantRecruting=False, commitment=True, year=getActiveYear(req), ).count(),
user_is_staff(YSListView.as_view( queryset = Exhibitor.objects.select_related(), template_name = "exhibitor/list.html")), name="exhibitor_list"), url(r'^del/(?P<pk>[0-9]+)$', user_is_staff(DeleteView.as_view( model = Exhibitor, template_name= "exhibitor/del.html", success_url="/exhibitors/list")), name="exhibitor_del"), url(r'^export/adminmail', user_is_staff(EmailOutputView.as_view( queryset = lambda req, kwargs : User.objects.filter( Q(exhibitorparticipants__isAdmin=True, exhibitorparticipants__project__accepted=True, exhibitorparticipants__project__year=getActiveYear(req)) | Q(exhibitors__accepted=True,exhibitors__year=getActiveYear(req)) ).distinct(), template_name = "mail.html")), name="exhibitor_export_adminmail"), url(r'export/allmail', user_is_staff(EmailOutputView.as_view( queryset = lambda req, kwargs : User.objects.filter( Q(exhibitorparticipants__project__accepted=True, exhibitorparticipants__project__year=getActiveYear(req)) | Q(exhibitors__accepted=True,exhibitors__year=getActiveYear(req)) ).distinct(), template_name = "mail.html")), name="exhibitor_export_allmail"), url(r'^export/xml', user_is_staff(YSXMLListView.as_view(
YSListView.as_view(queryset=Exhibitor.objects.select_related(), template_name="exhibitor/list.html")), name="exhibitor_list"), url(r'^del/(?P<pk>[0-9]+)$', user_is_staff( DeleteView.as_view(model=Exhibitor, template_name="exhibitor/del.html", success_url="/exhibitors/list")), name="exhibitor_del"), url(r'^export/adminmail', user_is_staff( EmailOutputView.as_view( queryset=lambda req, kwargs: User.objects.filter( Q(exhibitorparticipants__isAdmin=True, exhibitorparticipants__project__accepted=True, exhibitorparticipants__project__year=getActiveYear(req)) | Q(exhibitors__accepted=True, exhibitors__year=getActiveYear(req))).distinct(), template_name="mail.html")), name="exhibitor_export_adminmail"), url(r'export/allmail', user_is_staff( EmailOutputView.as_view( queryset=lambda req, kwargs: User.objects.filter( Q(exhibitorparticipants__project__accepted=True, exhibitorparticipants__project__year=getActiveYear(req)) | Q(exhibitors__accepted=True, exhibitors__year=getActiveYear(req))).distinct(), template_name="mail.html")), name="exhibitor_export_allmail"), url(r'^export/xml',
login_required( PermCheckSimpleDeleteView.as_view( model=SponsoringParticipants, permission_checker=lambda obj, user: obj.project. has_write_permission(user), redirect=lambda obj, kwargs: reverse( "sponsor_participants", kwargs={"pk": obj.project_id}))), name="sponsor_participants_delete"), url(r'^list/?', user_is_staff( MultipleListView.as_view( template_name="sponsor/sponsoring/list.html", template_params={ "object_list": lambda req, kwargs: Sponsoring.objects.filter( year=getActiveYear(req), ).select_related(), "moneyRaised": lambda req, kwargs: Sponsoring.objects.filter( commitment=True, year=getActiveYear(req), ).aggregate(total_sum=Sum("package__price"))["total_sum"], "wantRecruiting": lambda req, kwargs: Sponsoring.objects.filter( wantRecruting=True, commitment=True, year=getActiveYear(req), ).count(), "noRecruiting": lambda req, kwargs: Sponsoring.objects.filter( wantRecruting=False, commitment=True,
user_is_staff(YSListView.as_view( queryset = Devroom.objects.select_related(), template_name = "devroom/list.html")), name="devroom_list"), url(r'^del/(?P<pk>[0-9]+)$', user_is_staff(DeleteView.as_view( model = Devroom, template_name= "devroom/del.html", success_url="/devrooms/list")), name="devroom_del"), url(r'^export/adminmail', user_is_staff(EmailOutputView.as_view( queryset = lambda req, kwargs : User.objects.filter( Q(devroomparticipants__isAdmin=True, devroomparticipants__project__accepted=True, devroomparticipants__project__year=getActiveYear(req)) | Q(devrooms__accepted=True,devrooms__year=getActiveYear(req)) ).distinct(), template_name = "mail.html")), name="devroom_export_adminmail"), url(r'^export/allmail', user_is_staff(EmailOutputView.as_view( queryset = lambda req, kwargs : User.objects.filter( Q(devroomparticipants__project__accepted=True, devroomparticipants__project__year=getActiveYear(req)) | Q(devrooms__accepted=True,devrooms__year=getActiveYear(req)) ).distinct(), template_name = "mail.html")), name="devroom_export_allmail"), url(r'^export/xml', user_is_staff(YSXMLListView.as_view(