예제 #1
0
파일: views.py 프로젝트: JoeJasinski/evesch
def eventtype_edit(request,
                   org_short_name,
                   eventtype_hash,
                   template_name=None):
    current_org, message = Organization.objects.get_current_org(org_short_name)
    if not message:
        current_user, message = get_current_user(request.user, message)
    if not message:
        operms = current_org.org_perms(current_user)
        if not operms['can_edit_type']:
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Edit Event Type"),
                text=
                _("You do not have permission to edit an event type in this organization."
                  ))
            message.addlink(_("Back"), current_org.get_absolute_url())
            context = {
                'message': message,
            }
    if not message:
        if not operms['is_memberof_org']:
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Edit Event Type"),
                text=
                _("You cannot edit a event type in an organization that you do not belong to."
                  ))
            message.addlink(_("Back"), current_org.get_absolute_url())
            context = {
                'message': message,
            }
    if not message:
        try:
            event_type = current_org.eventtype_set.get(
                type_hash=eventtype_hash, type_active=True)
            show_dialog = False
            if request.method == 'POST':
                form = EventTypeForm(current_org,
                                     request.POST,
                                     instance=event_type)
                if form.is_valid():
                    form.save()
                    message = Message(title=_("Event Type Save Successful"),
                                      text=_("Event Type Edit Successful"))
                    message.addlink(_("Continue"),
                                    current_org.get_absolute_url())
                    message.addlink(
                        _("Edit"),
                        reverse('event_eventtype_edit',
                                kwargs={
                                    'org_short_name':
                                    current_org.org_short_name,
                                    'eventtype_hash': event_type.type_hash
                                }))
                    if request.POST.get("dialog", '') == "False":
                        template_name = "core/message.html"
                        show_dialog = False
                    else:
                        show_dialog = True
                    context = {
                        'message': message,
                        'form': form,
                        'message': message,
                        'current_org': current_org,
                        'show_dialog': show_dialog,
                    }
                else:
                    context = {
                        'current_org': current_org,
                        'event_type': event_type,
                        'form': form
                    }
            else:
                form = EventTypeForm(current_org,
                                     auto_id=False,
                                     instance=event_type)
                context = {
                    'current_org': current_org,
                    'event_type': event_type,
                    'form': form
                }
        except ObjectDoesNotExist:
            template_name = "error.html"
            context = {'error': _("Event Type does not exist")}
    else:
        template_name = "core/message.html"
        context = {'message': message}
    return render_to_response(template_name,
                              context,
                              context_instance=RequestContext(request))
예제 #2
0
파일: views.py 프로젝트: JoeJasinski/evesch
def eventtype_add(request, org_short_name, template_name=None):
    current_org, message = Organization.objects.get_current_org(org_short_name)
    if not message:
        if not current_org.is_member(request.user):
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Add Event Type"),
                text=
                _("You cannot add an event type in an organization that you do not belong to."
                  ))
            message.addlink(_("Back"), current_org.get_absolute_url())
            context = {
                'message': message,
            }
    if not message:
        current_user, message = get_current_user(request.user, message)
    if not message:
        operms = current_org.org_perms(current_user)
        if not operms['can_add_type']:
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Add Event Type"),
                text=
                _("You do not have permission to add an event type in this organization."
                  ))
            message.addlink(_("Back"), current_org.get_absolute_url())
            context = {
                'message': message,
            }
    if not message:
        show_dialog = False
        if request.method == 'POST':
            form = EventTypeForm(current_org, request.POST)
            if form.is_valid():
                event_type = form.save(commit=False)
                event_type.org_name = current_org
                event_type.save()
                message = Message(title=_("Add Event Type Successful"),
                                  text=_("Add Event Type Successful"))
                message.addlink(_("Continue"), current_org.get_absolute_url())
                message.addlink(
                    _("Edit"),
                    reverse('event_eventtype_edit',
                            kwargs={
                                'org_short_name': current_org.org_short_name,
                                'eventtype_hash': event_type.type_hash,
                            }))
                if request.POST.get("dialog", '') == "False":
                    template_name = "core/message.html"
                    show_dialog = False
                else:
                    show_dialog = True
                context = {
                    'message': message,
                    'form': form,
                    'message': message,
                    'current_org': current_org,
                    'show_dialog': show_dialog,
                }

            else:
                context = {'form': form, 'current_org': current_org}
        else:
            form = EventTypeForm(current_org)
            context = {
                'form': form,
                'org_short_name': org_short_name,
                'current_org': current_org
            }
            #raise AssertionError
    else:
        context = {
            'message': message,
        }
    return render_to_response(template_name,
                              context,
                              context_instance=RequestContext(request))