Esempio n. 1
0
	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
Esempio n. 2
0
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")
Esempio n. 3
0
	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")
Esempio n. 4
0
    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
Esempio n. 5
0
 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")
Esempio n. 6
0
    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)
Esempio n. 7
0
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")
Esempio n. 8
0
    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())
Esempio n. 9
0
def active_year_processor(request):
    return {
        'active_year': getActiveYear(request),
        'all_years': getAllYears(),
    }
Esempio n. 10
0
			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$",
Esempio n. 11
0
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,
Esempio n. 12
0
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",
Esempio n. 13
0
def active_year_processor(request):
	return {
		'active_year' : getActiveYear(request),
		'all_years' : getAllYears(),
	}
Esempio n. 14
0
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(
Esempio n. 15
0
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,
Esempio n. 16
0
	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(),
Esempio n. 17
0
		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(
Esempio n. 18
0
         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',
Esempio n. 19
0
     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,
Esempio n. 20
0
		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(