<form method="POST" action="." enctype="multipart/form-data" class="submit-form">
{% csrf_token %}
<table>
+ <colgroup>
+ <col span="1" style="width: 45%;">
+ <col span="1" style="width: 55%;">
+ </colgroup>
{{ form.as_table }}
<tr><td></td><td><button>{% block contact_form_submit %}{{ form.submit_label }}{% endblock %}</button></td></tr>
</table>
class HeaderWidget(forms.widgets.Widget):
def render(self, name, value, attrs=None):
- return ''
attrs.update(self.attrs)
- return format_html('<div{0}>{1}</div>', flatatt(attrs), unicode(value))
-
+ return format_html('<a{0}></a>', flatatt(attrs))
+ # return format_html('<div{0}>{1}</div>', flatatt(attrs), unicode(value))
class WorkshopForm(ContactForm):
- form_tag = 'workshop'
- save_as_tag = 'workshop-2016'
+ form_tag = 'workshops'
+ save_as_tag = 'workshops-2016'
conference_name = u'CopyCamp 2016'
form_title = _('Workshop')
contact = forms.EmailField(label=_('E-mail'), max_length=128)
organization = forms.CharField(label=_('Organization'),
max_length=256, required=False)
+ country = forms.CharField(label=_('Country'), max_length=128)
+
+ _header = HeaderField(
+ label=mark_safe_lazy(_("<h3>I'll take a part in workshops</h3>")),
+ help_text=_('Only workshops with any spots left are visible here.'))
+
+ _h1 = HeaderField(label=mark_safe_lazy(_("<strong>Thursday, October 27th, 10 a.m.–12 noon</strong>")))
- _#header = HeaderField(label=mark_safe_lazy(_("<h3>I'll take a part in workshops</h3>")), help_text=_('Only workshops with any spots left are visible here.'))
+ w_dimitrov = forms.BooleanField(label=_(u'Dimitar Dimitrov: Hacking Brussels'), required=False)
+ w_vangompel = forms.BooleanField(label=_(
+ u'Stef van Gompel: Methods and constraints for including evidence in IP lawmaking'), required=False)
- #_h1 = HeaderField(label=mark_safe_lazy(_("<strong>Thursday, November 6th, 10 a.m.–12 noon</strong>")))
+ _h2 = HeaderField(label=mark_safe_lazy(_("<strong>Friday, October 28th, 10 a.m.–12 noon</strong>")))
- #w_rysiek = forms.BooleanField(label=_(u'Michał „rysiek” Woźniak, Koalicja Otwartej Edukacji KOED: Wprowadzenie do prawa autorskiego i wolnych licencji'), required=False)
- #w_bartsch = forms.BooleanField(label=_(u'Natalia Bartsch: Wykorzystywanie istniejących utworów w tworzeniu przedstawienia teatralnego'), required=False)
- #w_samsung = forms.BooleanField(label=_(u'Rafał Sikorski: Prywatny użytek w prawie autorskim w XXI wieku. Jak powinien wyglądać w\u00a0Unii Europejskiej?'), required=False)
+ w_siewicz = forms.BooleanField(label=_(
+ u'dr Krzysztof Siewicz, dr Marta Hoffman-Sommer: '
+ u'Legal aspects of using research data in the age of Open Data'), required=False)
+ w_siewicz_project = forms.CharField(
+ label=mark_safe(
+ u'<p style="margin-top: 0"><strong>Qualification for this workshop will be based on the answers '
+ u'for the following problem:</strong></p>'
+ u'Please choose a particular dataset from any research project you are involved in and provide '
+ u'a description (no more than 1800 characters). Selected datasets will be discussed during '
+ u'the workshop as case studies. In your description, please include the following information: '
+ u'What is the research goal of the project (in the context of the chosen dataset)? '
+ u'What data is being collected and how is it stored? What is the process of data collection '
+ u'or generation? Who is involved in collecting or producing the data and in what manner?'),
+ max_length=1800, widget=forms.Textarea, required=False)
+ w_google = forms.BooleanField(label=_(
+ u'Marcin Olender, Google: Prawo autorskie na YouTube (workshop in Polish)'), required=False)
- #_h2 = HeaderField(label=mark_safe_lazy(_("<strong>Friday, November 7th, 10 a.m.–12 noon</strong>")))
+ _h3 = HeaderField(label=mark_safe_lazy(_("<strong>Friday, October 28th, 12 noon–2 p.m.</strong>")))
- #w_mezei = forms.BooleanField(label=_(u'Péter Mezei: European copyright alternatives – 2014 (Workshop will be held in English)'), required=False)
- #w_sliwowski = forms.BooleanField(label=_(u'Kamil Śliwowski, Koalicja Otwartej Edukacji KOED: Prawo autorskie w Sieci - ćwiczenia praktyczne'), required=False)
+ w_patronite = forms.BooleanField(label=_(
+ u'Mateusz Górski, Michał Leksiński, Patronite: Praktyczne aspekty dozwolonego użytku '
+ u'(workshop in Polish)'),
+ required=False)
- #_h3 = HeaderField(label=mark_safe_lazy(_("<strong>Friday, November 7th, 12 noon–2 p.m.</strong>")))
+ _header_1 = HeaderField(label='')
- #w_zaiks = forms.BooleanField(label=_(u'Łukasz Łyczkowski, Adam Pacuski, Stowarzyszenie Autorów ZAiKS: Praktyczne aspekty dozwolonego użytku'), required=False)
- #w_creativepoland = forms.BooleanField(label=_(u'Paweł Kaźmierczyk i Dagmara Białek, Creative Poland: Sektor kreatywny – pomysły są w cenie'), required=False)
+ start_workshops = ('dimitrov', 'vangompel', 'siewicz', 'google', 'patronite')
- #_header_1 = HeaderField(label='')
+ slots = (('_h1', 'dimitrov', 'vangompel'), ('_h2', 'siewicz', 'google'), ('_h3', 'patronite'))
- # agree_mailing = forms.BooleanField(
- # label=_('I am interested in receiving information about the Modern Poland Foundation\'s activities by e-mail'),
- # required=False
- # )
+ agree_mailing = forms.BooleanField(
+ label=_('I am interested in receiving information about the Modern Poland Foundation\'s activities by e-mail'),
+ required=False)
agree_data = forms.BooleanField(
label=_('Permission for data processing'),
- help_text=_(u'I hereby grant Modern Poland Foundation (Fundacja Nowoczesna Polska, ul. Marszałkowska 84/92, 00-514 Warszawa) permission to process my personal data (name, e-mail address) for purposes of registration for CopyCamp conference.')
- )
+ help_text=_(
+ u'I hereby grant Modern Poland Foundation (Fundacja Nowoczesna Polska, ul. Marszałkowska 84/92, '
+ u'00-514 Warszawa) permission to process my personal data (name, e-mail address) for purposes of '
+ u'registration for CopyCamp conference.'))
agree_license = forms.BooleanField(
label=_('Permission for publication'),
- help_text=mark_safe_lazy(_(u'I agree to having materials, recorded during the conference, released under the terms of <a href="http://creativecommons.org/licenses/by-sa/3.0/deed">CC\u00a0BY-SA</a> license and to publishing my image.')),
- required=False
- )
+ help_text=mark_safe_lazy(_(
+ u'I agree to having materials, recorded during the conference, released under the terms of '
+ u'<a href="http://creativecommons.org/licenses/by-sa/3.0/deed">CC\u00a0BY-SA</a> '
+ u'license and to publishing my image.')),
+ required=False)
def __init__(self, *args, **kwargs):
super(WorkshopForm, self).__init__(*args, **kwargs)
- self.limit_reached = Contact.objects.filter(form_tag=self.save_as_tag).count() >= 60
-
- # counts = {k: 0 for k in self.start_workshops}
- # for contact in Contact.objects.filter(form_tag=self.save_as_tag):
- # for workshop in self.start_workshops:
- # if contact.body.get('w_%s' % workshop, False): counts[workshop] += 1
- # some_full = False
- # for k, v in counts.items():
- # if v >= 60:
- # some_full = True
- # if 'w_%s' % k in self.fields:
- # del self.fields['w_%s' % k]
- # if k in self.workshops:
- # self.workshops.remove(k)
- # if not some_full:
- # self.fields['_header'].help_text = None
-
- # def clean(self):
- # any_workshop = False
- # for w in self.start_workshops:
- # if self.cleaned_data.get('w_%s' % w):
- # any_workshop = True
- # if not any_workshop:
- # self._errors['_header'] = [_("Please choose at least one workshop.")]
- # return self.cleaned_data
+ # self.limit_reached = Contact.objects.filter(form_tag=self.save_as_tag).count() >= 60
+ try:
+ url = Entry.objects.get(slug_pl='regulamin').get_absolute_url()
+ self.fields['agree_toc'] = forms.BooleanField(
+ required=True,
+ label=mark_safe(_('I accept <a href="%s">Terms and Conditions of CopyCamp</a>') % url)
+ )
+ except Entry.DoesNotExist:
+ pass
+ counts = {k: 0 for k in self.start_workshops}
+ for contact in Contact.objects.filter(form_tag=self.save_as_tag):
+ for workshop in self.start_workshops:
+ if contact.body.get('w_%s' % workshop, False): counts[workshop] += 1
+ some_full = False
+ for k, v in counts.items():
+ if v >= 30:
+ some_full = True
+ if 'w_%s' % k in self.fields:
+ del self.fields['w_%s' % k]
+ if k in self.workshops:
+ self.workshops.remove(k)
+ if not some_full:
+ self.fields['_header'].help_text = None
+
+ def clean(self):
+ if self.cleaned_data.get('w_siewicz') and not self.cleaned_data.get('w_siewicz_project'):
+ self._errors['w_siewicz_project'] = [_("Please submit your answer to qualify for this workshop")]
+ for slot in self.slots:
+ if sum(1 for w in slot if self.cleaned_data.get('w_%s' % w)) > 1:
+ self._errors[slot[0]] = [_("You can't choose more than one workshop during the same period")]
+ if not any(self.cleaned_data.get('w_%s' % w) for w in self.start_workshops):
+ self._errors['_header'] = [_("Please choose at least one workshop.")]
+ return self.cleaned_data
msgstr ""
"Project-Id-Version: prawokultury\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2016-09-22 13:21+0200\n"
+"POT-Creation-Date: 2016-10-04 16:05+0200\n"
"PO-Revision-Date: 2014-09-30 16:25+0100\n"
"Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
"Language-Team: FNP <fundacja@nowoczesnapolska.org.pl>\n"
"|| n%100>=20) ? 1 : 2);\n"
"X-Generator: Poedit 1.5.4\n"
-#: contact_forms.py:23 templates/base.html:60
+#: contact_forms.py:23 templates/base.html:61
msgid "Registration"
msgstr "Rejestracja"
msgid "Organization"
msgstr "Organizacja"
-#: contact_forms.py:31
+#: contact_forms.py:31 contact_forms.py:284
msgid "Country"
msgstr "Kraj"
msgid "good networking occasion"
msgstr "możliwość networkingu"
-#: contact_forms.py:120
+#: contact_forms.py:120 contact_forms.py:329
msgid ""
"I am interested in receiving information about the Modern Poland "
"Foundation's activities by e-mail"
"Jestem zainteresowana/y otrzymywaniem drogą mailową informacji dotyczących "
"działalności Fundacji Nowoczesna Polska"
-#: contact_forms.py:124 contact_forms.py:310
+#: contact_forms.py:124 contact_forms.py:332
msgid "Permission for data processing"
msgstr "Zgoda na przetwarzanie danych"
-#: contact_forms.py:125 contact_forms.py:311
+#: contact_forms.py:125 contact_forms.py:334
msgid ""
"I hereby grant Modern Poland Foundation (Fundacja Nowoczesna Polska, ul. "
"Marszałkowska 84/92, 00-514 Warszawa) permission to process my personal data "
"poczty elektronicznej) przez Fundację Nowoczesna Polska (ul. Marszałkowska "
"84/92, 00-514 Warszawa) w związku z rejestracją na konferencję CopyCamp."
-#: contact_forms.py:128 contact_forms.py:314
+#: contact_forms.py:128 contact_forms.py:338
msgid "Permission for publication"
msgstr "Zgoda na publikację"
-#: contact_forms.py:129 contact_forms.py:315
+#: contact_forms.py:129 contact_forms.py:340
msgid ""
"I agree to having materials, recorded during the conference, released under "
"the terms of <a href=\"http://creativecommons.org/licenses/by-sa/3.0/deed"
"licencji <a href=\"http://creativecommons.org/licenses/by-sa/3.0/deed.pl"
"\">CC BY-SA</a> oraz rozpowszechnianie wizerunku."
-#: contact_forms.py:141
+#: contact_forms.py:141 contact_forms.py:352
#, python-format
msgid "I accept <a href=\"%s\">Terms and Conditions of CopyCamp</a>"
msgstr "Akceptuję <a href=\"%s\">Regulamin CopyCampu</a>"
msgid "Workshop"
msgstr "Warsztat"
+#: contact_forms.py:287
+msgid "<h3>I'll take a part in workshops</h3>"
+msgstr "<h3>Wezmę udział w warsztatach</h3>"
+
+#: contact_forms.py:288
+msgid "Only workshops with any spots left are visible here."
+msgstr "Widoczne są tylko warsztaty, w których są jeszcze miejsca."
+
+#: contact_forms.py:290
+msgid "<strong>Thursday, October 27th, 10 a.m.–12 noon</strong>"
+msgstr "<strong>Czwartek, 27 października, 10:00–12:00</strong>"
+
+#: contact_forms.py:292
+msgid "Dimitar Dimitrov: Hacking Brussels"
+msgstr "Dimitar Dimitrov: Hacking Brussels (warsztat w języku angielskim)"
+
+#: contact_forms.py:294
+msgid ""
+"Stef van Gompel: Methods and constraints for including evidence in IP "
+"lawmaking"
+msgstr ""
+"Stef van Gompel: Methods and constraints for including evidence in IP "
+"lawmaking (warsztat w języku angielskim)"
+
+#: contact_forms.py:296
+msgid "<strong>Friday, October 28th, 10 a.m.–12 noon</strong>"
+msgstr "<strong>Piątek, 28 października, 10:00–12:00</strong>"
+
+#: contact_forms.py:299
+msgid ""
+"dr Krzysztof Siewicz, dr Marta Hoffman-Sommer: Legal aspects of using "
+"research data in the age of Open Data"
+msgstr ""
+"dr Krzysztof Siewicz, dr Marta Hoffman-Sommer: Legal aspects of using "
+"research data in the age of Open Data (warsztat w języku angielskim)"
+
+#: contact_forms.py:313
+msgid "Marcin Olender, Google: Prawo autorskie na YouTube (workshop in Polish)"
+msgstr "Marcin Olender, Google: Prawo autorskie na YouTube"
+
+#: contact_forms.py:315
+msgid "<strong>Friday, October 28th, 12 noon–2 p.m.</strong>"
+msgstr "<strong>Piątek, 28 października, 12:00–14:00</strong>"
+
+#: contact_forms.py:318
+msgid ""
+"Mateusz Górski, Michał Leksiński, Patronite: Praktyczne aspekty dozwolonego "
+"użytku (workshop in Polish)"
+msgstr ""
+"Mateusz Górski, Michał Leksiński, Patronite: Praktyczne aspekty dozwolonego "
+"użytku"
+
+#: contact_forms.py:373
+msgid "Please submit your answer to qualify for this workshop"
+msgstr ""
+"Zamieść odpowiedź na zadanie, aby móc się zakwalifikować na ten warsztat"
+
+#: contact_forms.py:376
+msgid "You can't choose more than one workshop during the same period"
+msgstr "Nie możesz wybrać warsztatów odbywających się w tym samym czasie"
+
+#: contact_forms.py:378
+msgid "Please choose at least one workshop."
+msgstr "Proszę wybrać co najmniej jeden warsztat."
+
#: settings.d/60-custom.py:5
msgid "info"
msgstr "info"
msgid "The page you were looking for doesn't exist."
msgstr "Strona, której szukasz, nie istnieje."
-#: templates/base.html:18
+#: templates/base.html:19
msgid ""
"CopyCamp Conference is the first large-scale meeting in Poland devoted to "
"the issues of copyright in both ideological and practical terms."
"CopyCamp jest pierwszym w Polsce, organizowanym na dużą skalę spotkaniem "
"osób zajmujących się problematyką praw autorskich."
-#: templates/base.html:35
+#: templates/base.html:36
msgid "CopyCamp"
msgstr "CopyCamp"
-#: templates/base.html:51
+#: templates/base.html:52
msgid "Search"
msgstr "Szukaj"
-#: templates/base.html:103
+#: templates/base.html:68
+msgid "Workshops"
+msgstr "Warsztaty"
+
+#: templates/base.html:105
msgid ""
"If not explicitly stated otherwise, all texts are licensed under the <a "
"href='http://creativecommons.org/licenses/by-sa/3.0/'>Creative Commons "
#~ msgid "Take part! / Workshops"
#~ msgstr "Weź udział! / Warsztaty"
-#~ msgid "<h3>I'll take a part in workshops</h3>"
-#~ msgstr "<h3>Wezmę udział w warsztatach</h3>"
-
-#~ msgid "Only workshops with any spots left are visible here."
-#~ msgstr "Widoczne są tylko warsztaty, w których są jeszcze miejsca."
-
-#~ msgid "<strong>Friday, November 7th, 10 a.m.–12 noon</strong>"
-#~ msgstr "<strong>Piątek, 7 listopada, 10:00–12:00</strong>"
-
#~ msgid ""
#~ "Péter Mezei: European copyright alternatives – 2014 (Workshop will be "
#~ "held in English)"
#~ "Péter Mezei: European copyright alternatives – 2014 (Uwaga! Warsztat "
#~ "prowadzony będzie w jęz. angielskim.)"
-#~ msgid "<strong>Friday, November 7th, 12 noon–2 p.m.</strong>"
-#~ msgstr "<strong>Piątek, 7 listopada, 12:00–14:00</strong>"
-
-#~ msgid "Please choose at least one workshop."
-#~ msgstr "Proszę wybrać co najmniej jeden warsztat."
-
#~ msgid "Creative Middle Class"
#~ msgstr "O kreatywnej klasie średniej"
#~ msgid "Presentation"
#~ msgstr "Prezentacja"
-#~ msgid "<strong>Thursday, November 6th, 10 a.m.–12 noon</strong>"
-#~ msgstr "<strong>Czwartek, 6 listopada, 10:00–12:00</strong>"
-
#~ msgid "Thank you for submitting the registration form at %(site_name)s."
#~ msgstr ""
#~ "Dziękujemy za wypełnienie formularza rejestracyjnego na stronie "
'base': {
'source_filenames': (
'js/promobox.js',
+ 'js/workshop_form.js',
'contrib/lightbox/js/lightbox.min.js',
),
'output_filename': 'compressed/base.js',
--- /dev/null
+$(document).ready(function() {
+
+ var project_row = $('#id_w_siewicz_project').closest('tr');
+
+ var switcher = $('#id_w_siewicz');
+
+ if (!switcher.is(':checked'))
+ project_row.hide();
+
+ switcher.on('change', function(data) {
+ console.log(data);
+ project_row.toggle();
+ })
+
+});
{% load sponsor_tags %}
{% load compressed %}
{% load piwik_tags %}
+{% load entry_url %}
<html prefix="og: http://ogp.me/ns#">
<head>
<title>{% block "titleextra" %}{% endblock %}CopyCamp</title>
<div id="main-bar">
<div id="sidebar" class="bar-right">
{% block "sidebar" %}
-<div class="sidebar-box" style="text-align:center; font-size: 1.3em;">
-<strong><a target="_blank" style="display: block" href="https://prawokultury.pl/publikacje/cory-doctorow-kontekst/">
-<img style="margin-bottom: .5em;" src="//prawokultury.pl/media/entry/image/cory_cvr_fb_2_maly.jpg" alt="Cory Doctorow – Kontekst"><br>
- Książka:<br/>
- Cory Doctorow – Kontekst<br/>
- Kup na PrawoKultury.pl
- </a></strong></div>
+ <a href="{% entry_url "warsztaty" %}" style="display: block; margin-bottom: 10px; width: 220px; text-align:center; background: #ED7F00; color: white; font-size: 24px; text-transform: uppercase;">{% trans "Workshops" %}</a>
+ <div class="sidebar-box" style="text-align:center; font-size: 1.3em;">
+ <strong><a target="_blank" style="display: block" href="https://prawokultury.pl/publikacje/cory-doctorow-kontekst/">
+ <img style="margin-bottom: .5em;" src="//prawokultury.pl/media/entry/image/cory_cvr_fb_2_maly.jpg" alt="Cory Doctorow – Kontekst"><br>
+ Książka:<br/>
+ Cory Doctorow – Kontekst<br/>
+ Kup na PrawoKultury.pl
+ </a></strong></div>
<div class="sidebar-box">
{% sponsor_page 'main' %}
--- /dev/null
+# -*- coding: utf-8 -*-
+from django.template import Library
+from migdal.models import Entry
+
+register = Library()
+
+
+@register.simple_tag()
+def entry_url(slug_pl):
+ return Entry.objects.get(slug_pl=slug_pl).get_absolute_url()
\ No newline at end of file