示例#1
0
def event_add(request, org_short_name, 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)
    if not message:
        operms = current_org.org_perms(current_user)
        if not operms['is_memberof_org']:
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Add Event"),
                text=
                _("You cannot add an event in an organization that you do not belong to."
                  ))
            message.addlink(_("Back"), current_org.get_absolute_url())
            context = {
                'message': message,
            }
    if not message:
        if not operms['can_add_event']:
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Add Event"),
                text=
                _("You do not have permission to add an event in this organization."
                  ))
            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:
        show_dialog = False
        if request.method == 'POST':
            form = EventForm(current_org, request.POST)
            if form.is_valid():
                current_event = form.save(commit=False)
                current_event.event_creator_name = current_user
                current_event.event_org = current_org
                current_event.save()
                message = Message(title=_("Event Add Successful"),
                                  text=_("Event Add Successful"))
                message.addlink(
                    _("Attend"),
                    reverse('event_attendee_add',
                            kwargs={
                                'org_short_name': current_org.org_short_name,
                                'event_hash': current_event.event_hash
                            }))
                message.addlink(
                    _("View"),
                    reverse('event_event_view',
                            kwargs={
                                'org_short_name': current_org.org_short_name,
                                'event_hash': current_event.event_hash
                            }))
                message.addlink(
                    _("Edit"),
                    reverse('event_event_edit',
                            kwargs={
                                'org_short_name': current_org.org_short_name,
                                'event_hash': current_event.event_hash
                            }))
                if request.POST.get("dialog", '') == "False":
                    template_name = "core/message.html"
                    show_dialog = False
                else:
                    show_dialog = True
                context = {
                    'message': message,
                    'form': form,
                    'current_org': current_org,
                    'current_event': current_event,
                    'show_dialog': show_dialog,
                }
            else:
                context = {
                    'form': form,
                    'current_org': current_org,
                    'org_short_name': org_short_name,
                    'error': "update",
                    'show_dialog': show_dialog,
                }
        else:
            form = EventForm(current_org)
            context = {
                'form': form,
                'current_org': current_org,
                'org_short_name': org_short_name
            }
    else:
        template_name = "core/message.html"
        context = {'message': message}
    return render_to_response(template_name,
                              context,
                              context_instance=RequestContext(request))
示例#2
0
def event_edit(request, org_short_name, event_hash, template_name=None):
    current_org, message = Organization.objects.get_current_org(org_short_name)
    if not message:
        current_event, message = current_org.get_current_event(
            event_hash, message)
    if not message:
        current_user, message = get_current_user(request.user)
    if not message:
        eperms = current_event.event_perms(current_user)
        if not eperms['can_edit_event']:
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Edit Event"),
                text=_("You do not have permission to edit this event"))
            message.addlink(_("Back"), current_event.get_absolute_url())
            context = {
                'message': message,
            }
    if not message:
        operms = current_org.org_perms(current_user)
        if not operms['is_memberof_org']:
            template_name = "core/message.html"
            message = Message(
                title=_("Cannot Edit Event"),
                text=
                _("You cannot edit an event in an organization that you do not belong to."
                  ))
            message.addlink(_("Back"), current_event.get_absolute_url())
            context = {
                'message': message,
            }
    if not message:
        show_dialog = False
        if request.method == 'POST':
            form = EventForm(current_org, request.POST, instance=current_event)
            if form.is_valid():
                form.save()
                message = Message(title=_("Event Saved"),
                                  text=_("Event Saved"))
                message.addlink(_("View"), current_event.get_absolute_url())
                message.addlink(
                    _("Edit"),
                    reverse('event_event_edit',
                            kwargs={
                                'org_short_name': current_org.org_short_name,
                                'event_hash': current_event.event_hash
                            }))
                if request.POST.get("dialog", '') == "False":
                    template_name = "core/message.html"
                    show_dialog = False
                else:
                    show_dialog = True
            context = {
                'form': form,
                'current_org': current_org,
                'event': current_event,
                'message': message,
                'show_dialog': show_dialog
            }
        else:
            form = EventForm(current_org,
                             auto_id=False,
                             instance=current_event)
            context = {
                'form': form,
                'current_org': current_org,
                'event': current_event,
            }
    else:
        template_name = "core/message.html"
        context = {'message': message}
    return render_to_response(template_name,
                              context,
                              context_instance=RequestContext(request))