Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
65 changes: 22 additions & 43 deletions exhibition/signals.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
from django.dispatch import receiver
from django.template.loader import get_template
from django.templatetags.static import static
from django.urls import resolve, reverse
from django.urls import reverse
from django.utils.html import format_html
from django.utils.translation import gettext_lazy as _
from eventyay.control.signals import nav_event, nav_event_settings
from eventyay.control.signals import event_dashboard_components
from eventyay.presale.signals import (
front_page_after_content,
header_nav_tabs,
Expand All @@ -16,47 +16,26 @@
from .utils import add_external_image_csp_sources, public_exhibitors_queryset


@receiver(nav_event, dispatch_uid="exhibitors_nav")
def control_nav_import(sender, request=None, **kwargs):
url = resolve(request.path_info)
return [
{
"label": _("Exhibitors/Sponsors"),
"url": reverse(
"plugins:exhibition:info",
kwargs={
"event": request.event.slug,
"organizer": request.event.organizer.slug,
},
),
"active": url.namespace == "plugins:exhibition"
and url.url_name != "settings",
"icon": "map-pin",
}
]


@receiver(nav_event_settings, dispatch_uid="exhibitors_nav")
def navbar_info(sender, request, **kwargs):
url = resolve(request.path_info)
if not request.user.has_event_permission(
request.organizer, request.event, "can_change_event_settings", request=request
):
return []
return [
{
"label": _("Exhibitors/Sponsors"),
"url": reverse(
"plugins:exhibition:settings",
kwargs={
"event": request.event.slug,
"organizer": request.organizer.slug,
},
),
"active": url.namespace == "plugins:exhibition"
and url.url_name == "settings",
}
]
@receiver(event_dashboard_components, dispatch_uid="exhibition_dashboard_component")
def exhibition_dashboard_component(sender, request=None, **kwargs):
url = reverse(
"plugins:exhibition:info",
kwargs={
"organizer": sender.organizer.slug,
"event": sender.slug,
},
)
return format_html(
'<div class="panel panel-default widget-container widget-small no-padding last-column">'
'<div class="panel-heading"><h3 class="panel-title">{}</h3></div>'
'<div class="panel-body"><p>{}</p><p>{} <a href="{}">{}</a></p></div>'
'</div>',
str(_("Exhibitors & Sponsors")),
str(_("Manage exhibitors and sponsors, maintain booth details, and create partner profiles for the event.")),
str(_("Go to")),
url,
str(_("Exhibitors & Sponsors Dashboard")),
)


@receiver(front_page_after_content, dispatch_uid="exhibition_front_page_supporters")
Expand Down
31 changes: 13 additions & 18 deletions exhibition/templates/exhibitors/add.html
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{% extends "pretixcontrol/event/base.html" %}
{% extends "exhibitors/base.html" %}
{% load i18n %}
{% load bootstrap3 %}
{% load static %}
{% load escapejson %}
{% block title %}
{% if action == 'edit' %}
{% trans "Edit Exhibitor/Sponsor" %}
{% trans "Edit Exhibitor or Sponsor" %}
{% else %}
{% trans "Add an Exhibitor/Sponsor" %}
{% trans "Add an Exhibitor or Sponsor" %}
{% endif %}
{% endblock %}

Expand All @@ -16,22 +16,17 @@
<link rel="stylesheet" href="{% static 'exhibition/css/exhibitors-add.css' %}">
{% endblock %}

{% block content %}
<nav id="event-nav" class="header-nav">
<div class="navigation">
<div class="navigation-title">
<h1>
{% if action == 'edit' %}
{% trans "Edit Exhibitor/Sponsor" %}
{% else %}
{% trans "Add an Exhibitor/Sponsor" %}
{% endif %}
</h1>
</div>
{% include "pretixcontrol/event/component_link.html" %}
</div>
</nav>
{% block exhibitors_header %}
<h1>
{% if action == 'edit' %}
{% trans "Edit Exhibitor or Sponsor" %}
{% else %}
{% trans "Add an Exhibitor or Sponsor" %}
{% endif %}
</h1>
{% endblock %}

{% block exhibitors_content %}
<form action="" method="post" class="form-horizontal" enctype="multipart/form-data">
{% csrf_token %}
{% bootstrap_form_errors form %}
Expand Down
68 changes: 68 additions & 0 deletions exhibition/templates/exhibitors/base.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
{% extends 'pretixcontrol/base.html' %}
{% load i18n %}

{% block title %}{{ request.event.name }} - {% trans "Exhibitors & Sponsors" %}{% endblock %}

{% block nav %}
{% if 'can_change_event_settings' in request.eventpermset %}
<li>
<a href="{% url 'plugins:exhibition:settings.exhibitors' organizer=request.event.organizer.slug event=request.event.slug %}" class="has-children">
<span class="fa fa-fw fa-wrench"></span>
<span class="sidebar-text">{% trans "Settings" %}</span>
</a>
<a href="#" class="arrow">
<span class="fa arrow"></span>
</a>
<ul class="nav nav-second-level">
<li>
<a href="{% url 'plugins:exhibition:settings.exhibitors' organizer=request.event.organizer.slug event=request.event.slug %}" {% if url_name == 'settings' or url_name == 'settings.exhibitors' %}class="active"{% endif %}>
<span class="sidebar-text">{% trans "Exhibitors" %}</span>
</a>
</li>
<li>
<a href="{% url 'plugins:exhibition:settings.sponsors' organizer=request.event.organizer.slug event=request.event.slug %}" {% if url_name == 'settings.sponsors' %}class="active"{% endif %}>
<span class="sidebar-text">{% trans "Sponsors" %}</span>
</a>
</li>
</ul>
</li>
{% endif %}
<li>
<a href="{% url 'plugins:exhibition:info' organizer=request.event.organizer.slug event=request.event.slug %}" {% if url_name != 'settings' and url_name != 'settings.exhibitors' and url_name != 'settings.sponsors' %}class="active"{% endif %}>
<span class="fa fa-fw fa-map-pin"></span>
<span class="sidebar-text">{% trans "Exhibitors & Sponsors" %}</span>
</a>
</li>
{% endblock %}

{% block content %}
<nav id="event-nav" class="header-nav">
<div class="navigation">
<div class="navigation-title">
{% block exhibitors_header %}
<h1>{% trans "Exhibitors & Sponsors" %}</h1>
{% endblock %}
</div>
<div class="navigation-button">
<a href="{% url 'eventyay_common:event.index' organizer=request.organizer.slug event=request.event.slug %}" class="header-nav btn btn-outline-success">
<i class="fa fa-home"></i> {% trans "Home" %}
</a>
<a href="{% url 'control:event.index' organizer=request.organizer.slug event=request.event.slug %}" class="header-nav btn btn-outline-success">
<i class="fa fa-ticket"></i> {% trans "Tickets" %}
</a>
{% if is_talk_event_created %}
<a href="{% url 'orga:event.dashboard' event=request.event.slug %}" class="header-nav btn btn-outline-success">
<i class="fa fa-group"></i> {% trans "Talks" %}
</a>
{% endif %}
<a class="header-nav btn btn-outline-success"
href="{% url 'eventyay_common:event.create_access_to_video' organizer=request.organizer.slug event=request.event.slug %}"
title="{% trans 'Access videos related to this event' %}">
<i class="fa fa-video-camera"></i> {% trans "Videos" %}
</a>
</div>
</div>
</nav>

{% block exhibitors_content %}{% endblock %}
{% endblock %}
10 changes: 6 additions & 4 deletions exhibition/templates/exhibitors/delete.html
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
{% extends "pretixcontrol/event/base.html" %}
{% extends "exhibitors/base.html" %}
{% load i18n %}
{% block content %}
<h1>{% trans "Delete Exhibitor" %}</h1>
{% block exhibitors_header %}
<h1>{% trans "Delete Exhibitor or Sponsor" %}</h1>
{% endblock %}

{% block exhibitors_content %}
<p>
{% trans "Are you sure you want to delete this exhibitor? This action cannot be undone." %}
{% trans "Are you sure you want to delete this exhibitor or sponsor? This action cannot be undone." %}
</p>

<form action="" method="post">
Expand Down
11 changes: 5 additions & 6 deletions exhibition/templates/exhibitors/exhibitor_info.html
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
{% extends "pretixcontrol/event/base.html" %}
{% extends "exhibitors/base.html" %}
{% load i18n %}
{% block title %}{% trans "Exhibitors/Sponsors" %}{% endblock %}
{% block content %}
<h1>{% trans "Exhibitors/Sponsors" %}</h1>
{% block title %}{{ request.event.name }} - {% trans "Exhibitors & Sponsors" %}{% endblock %}
{% block exhibitors_content %}
{% if exhibitors|length == 0 %}
<div class="empty-collection">
<p>
Expand All @@ -13,14 +12,14 @@ <h1>{% trans "Exhibitors/Sponsors" %}</h1>

{% if "can_change_event_settings" in request.eventpermset %}
<a href="{% url "plugins:exhibition:add" organizer=request.event.organizer.slug event=request.event.slug %}"
class="btn btn-primary btn-lg"><i class="fa fa-plus"></i> {% trans "Add an Exhibitor/Sponsor" %}
class="btn btn-primary btn-lg"><i class="fa fa-plus"></i> {% trans "Add an Exhibitor or Sponsor" %}
</a>
{% endif %}
</div>
{% else %}
<p>
{% if "can_change_event_settings" in request.eventpermset %}
<a href="{% url "plugins:exhibition:add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Add an Exhibitor/Sponsor" %}
<a href="{% url "plugins:exhibition:add" organizer=request.event.organizer.slug event=request.event.slug %}" class="btn btn-default"><i class="fa fa-plus"></i> {% trans "Add an Exhibitor or Sponsor" %}
</a>
{% endif %}
</p>
Expand Down
45 changes: 22 additions & 23 deletions exhibition/templates/exhibitors/settings.html
Original file line number Diff line number Diff line change
@@ -1,16 +1,31 @@
{% extends "pretixcontrol/event/base.html" %}
{% extends "exhibitors/base.html" %}
{% load i18n %}
{% load static %}
{% load bootstrap3 %}
{% block title %}{% trans "Exhibitor/Sponsor Settings" %}{% endblock %}
{% block title %}
{% if active_tab == "sponsors" %}
{% trans "Sponsor Settings" %}
{% else %}
{% trans "Exhibitor Settings" %}
{% endif %}
{% endblock %}
{% block custom_header %}
{{ block.super }}
<link rel="stylesheet" href="{% static 'pretixcontrol/css/order-form-toggles.css' %}">
<link rel="stylesheet" href="{% static 'exhibition/css/exhibitors-settings.css' %}">
{% endblock %}

{% block content %}
<div class="container-fluid">
{% block exhibitors_header %}
<h1>
{% if active_tab == "sponsors" %}
{% trans "Sponsor Settings" %}
{% else %}
{% trans "Exhibitor Settings" %}
{% endif %}
</h1>
{% endblock %}

{% block exhibitors_content %}
{% trans "Your exhibitor access code" as default_subject %}
{% blocktrans trimmed asvar default_body %}Hello,
Your exhibitor ticketing account for {event} has been created.
Expand All @@ -19,19 +34,7 @@
Using the following access code: {exhibitor_access_code}
Best regards, Your {event} team{% endblocktrans %}

<h1>{% trans "Exhibitor/Sponsor Settings" %}</h1>

<ul class="nav nav-tabs" role="tablist">
<li {% if active_tab == "exhibitors" %}class="active"{% endif %}>
<a href="?tab=exhibitors">{% trans "Exhibitors" %}</a>
</li>
<li {% if active_tab == "sponsors" %}class="active"{% endif %}>
<a href="?tab=sponsors">{% trans "Sponsors" %}</a>
</li>
</ul>

<div class="tab-content">
<div class="tab-pane {% if active_tab == "exhibitors" %}active{% endif %}">
{% if active_tab == "exhibitors" %}
<form action="" method="post" class="form-horizontal">
{% csrf_token %}
<input type="hidden" name="action" value="save_exhibitor_settings">
Expand Down Expand Up @@ -107,9 +110,7 @@ <h1>{% trans "Exhibitor/Sponsor Settings" %}</h1>
</div>
</div>
</form>
</div>

<div class="tab-pane {% if active_tab == "sponsors" %}active{% endif %}">
{% else %}
<fieldset>
<legend>{% trans "Group List" %}</legend>
<p>
Expand Down Expand Up @@ -221,8 +222,6 @@ <h1>{% trans "Exhibitor/Sponsor Settings" %}</h1>
<p>{% trans "You do not have any sponsor groups yet." %}</p>
{% endif %}
</fieldset>
</div>
</div>
</div>
{% endif %}
<script type="text/javascript" src="{% static 'exhibition/js/exhibitors-settings.js' %}"></script>
{% endblock %}
29 changes: 20 additions & 9 deletions exhibition/urls.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from django.urls import path
from eventyay.api.urls import event_router
from eventyay.common.urls import OrganizerSlugConverter # noqa: F401

from .api import (
ExhibitorAuthView,
Expand Down Expand Up @@ -34,42 +35,52 @@
name="public_detail",
),
path(
"control/event/<str:organizer>/<str:event>/settings/exhibitors",
SettingsView.as_view(),
"exhibitors/event/<orgslug:organizer>/<slug:event>/settings",
SettingsView.as_view(active_tab="exhibitors"),
name="settings",
),
path(
"control/event/<str:organizer>/<str:event>/settings/exhibitors/groups/<int:pk>/toggle-front-page",
"exhibitors/event/<orgslug:organizer>/<slug:event>/settings/exhibitors",
SettingsView.as_view(active_tab="exhibitors"),
name="settings.exhibitors",
),
path(
"exhibitors/event/<orgslug:organizer>/<slug:event>/settings/sponsors",
SettingsView.as_view(active_tab="sponsors"),
name="settings.sponsors",
),
path(
"exhibitors/event/<orgslug:organizer>/<slug:event>/settings/sponsors/groups/<int:pk>/toggle-front-page",
SponsorGroupFrontPageToggleView.as_view(),
name="toggle_front_page",
),
path(
"control/event/<str:organizer>/<str:event>/settings/exhibitors/groups/reorder",
"exhibitors/event/<orgslug:organizer>/<slug:event>/settings/sponsors/groups/reorder",
SponsorGroupReorderView.as_view(),
name="reorder_groups",
),
path(
"control/event/<str:organizer>/<str:event>/exhibitors",
"exhibitors/event/<orgslug:organizer>/<slug:event>",
ExhibitorListView.as_view(),
name="info",
),
path(
"control/event/<str:organizer>/<str:event>/exhibitors/add",
"exhibitors/event/<orgslug:organizer>/<slug:event>/add",
ExhibitorCreateView.as_view(),
name="add",
),
path(
"control/event/<str:organizer>/<str:event>/exhibitors/edit/<int:pk>",
"exhibitors/event/<orgslug:organizer>/<slug:event>/edit/<int:pk>",
ExhibitorEditView.as_view(),
name="edit",
),
path(
"control/event/<str:organizer>/<str:event>/exhibitors/delete/<int:pk>",
"exhibitors/event/<orgslug:organizer>/<slug:event>/delete/<int:pk>",
ExhibitorDeleteView.as_view(),
name="delete",
),
path(
"control/event/<str:organizer>/<str:event>/exhibitors/copy_key/<int:pk>",
"exhibitors/event/<orgslug:organizer>/<slug:event>/copy_key/<int:pk>",
ExhibitorCopyKeyView.as_view(),
name="copy_key",
),
Expand Down
Loading