]> git.parisson.com Git - mezzo.git/commitdiff
Update ProjectCall, add Residency and ProjectProducer, add related templates
authorGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 7 Mar 2017 15:51:51 +0000 (16:51 +0100)
committerGuillaume Pellerin <guillaume.pellerin@ircam.fr>
Tue, 7 Mar 2017 15:51:51 +0000 (16:51 +0100)
21 files changed:
app/organization/core/models.py
app/organization/media/urls.py
app/organization/projects/admin.py
app/organization/projects/forms.py
app/organization/projects/migrations/0048_auto_20170307_1540.py [new file with mode: 0644]
app/organization/projects/models.py
app/organization/projects/translation.py
app/organization/projects/urls.py
app/organization/projects/views.py
app/themes/vertigo_starts_eu/templates/projects/project_call_detail.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_call_list.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_ict_create.html
app/themes/vertigo_starts_eu/templates/projects/project_ict_detail.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_ict_list.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_producer_create.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_producer_detail.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_producer_list.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_residency_create.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_residency_detail.html [new file with mode: 0644]
app/themes/vertigo_starts_eu/templates/projects/project_residency_list.html [new file with mode: 0644]
var

index c47648270091caca5681f296bd9c5ee4ebe89403..3811a4d14e6815b13955176de48bc0e0456aa4cf 100644 (file)
@@ -34,7 +34,9 @@ from django_countries.fields import CountryField
 
 
 COLOR_CHOICES = (('black', _('black')), ('yellow', _('yellow')), ('red', _('red')), ('white', _('white')),)
+
 ALIGNMENT_CHOICES = (('left', _('left')), ('center', _('center')), ('right', _('right')))
+
 IMAGE_TYPE_CHOICES = (('logo', _('logo')), ('logo_white', _('logo white')), ('logo_black', _('logo black')), ('logo_header', _('logo header')), ('logo_footer', _('logo footer')), ('slider', _('slider')), ('card', _('card')), ('page_slider', _('page - slider')), ('page_featured', _('page - featured')))
 
 
@@ -50,29 +52,32 @@ class Description(models.Model):
 class NamedOnly(models.Model):
     """Abstract model providing a name field only"""
 
-    name = models.CharField(_('name'), max_length=512)
+    name = models.CharField(_('name'), max_length=512, blank=True)
 
     class Meta:
         abstract = True
-        ordering = ['name',]
 
     def __str__(self):
         return self.name
 
-    @property
-    def slug(self):
-        return slugify(self.__unicode__())
-
 
-class Named(NamedOnly):
+class Named(models.Model):
     """Abstract model providing a name field and a description"""
 
+    name = models.CharField(_('name'), max_length=512)
     description = models.TextField(_('description'), blank=True)
 
     class Meta:
         abstract = True
         ordering = ['name',]
 
+    def __str__(self):
+        return self.name
+
+    @property
+    def slug(self):
+        return slugify(self.__str__())
+
 
 class Titled(models.Model):
     """Abstract model providing a title field"""
index e46831143d04158124497bb1394d84d229549a11..d0d65e21545a514419412647baab126416342544 100644 (file)
@@ -34,8 +34,8 @@ from organization.media.views import *
 
 urlpatterns = [
     url("^playlist/overlay/(?P<slug>.*)/$", PlaylistOverlayView.as_view(), name="organization-playlist-overlay"),
-    url("^(?P<type>.*)/detail/(?P<slug>.*)/$", MediaDetailView.as_view(), name="organization-media-detail"),
-    url("^(?P<type>.*)/overlay/(?P<slug>.*)/$", MediaOverlayView.as_view(), name="organization-media-overlay"),
+    url("^media/(?P<type>.*)/detail/(?P<slug>.*)/$", MediaDetailView.as_view(), name="organization-media-detail"),
+    url("^media/(?P<type>.*)/overlay/(?P<slug>.*)/$", MediaOverlayView.as_view(), name="organization-media-overlay"),
     url("^playlist/detail/(?P<slug>.*)/$", PlaylistDetailView.as_view(), name="organization-playlist-detail"),
     url("^playlist/list/$", PlaylistListView.as_view(), name="organization-playlist-list"),
     url("^playlist/list/(?P<type>.*)$", PlaylistListView.as_view(), name="organization-playlist-list"),
index 45924e0ea9023128c6718b26388ced6606c5e383..2d7ed3edc23fb3b1d3e7c515a0cbb28dea8b88f3 100644 (file)
@@ -198,7 +198,8 @@ class ProjectCallAdminDisplayable(DisplayableAdmin):
                 ProjectCallLinkInline,
                 ProjectCallFileInline,
                 ]
-    list_display = ['title', 'date_from', 'date_to', 'status', 'admin_link']
+    # list_filter = ['type', 'program', 'program_type', null_filter('external_id')]
+    # list_display = ['title', 'date_from', 'date_to', 'status', 'admin_link']
 
 
 admin.site.register(Project, ProjectAdminDisplayable)
@@ -210,4 +211,4 @@ admin.site.register(ProjectDemo, ProjectDemoAdmin)
 admin.site.register(Repository)
 admin.site.register(RepositorySystem)
 admin.site.register(ProjectWorkPackage, ProjectWorkPackageAdmin)
-admin.site.register(ProjectCall, ProjectCallAdminDisplayable)
+admin.site.register(ProjectCall, ProjectCallAdminDisplayable)
index e12c9ad77f64d983b5408d9b117c9232191779d8..8467ab14b76d0d781053dbfa1bf9e26f066e94ef 100644 (file)
@@ -86,3 +86,17 @@ class ProjectContactInline(InlineFormSet):
     max_num = 1
     model = ProjectContact
     fields = ('gender', 'person_title', 'first_name', 'last_name', 'address', 'email', 'telephone', 'bio', 'address', 'postal_code', 'city', 'country')
+
+
+class ProducerForm(ModelForm):
+
+    class Meta:
+        model = Organization
+        fields = '__all__'
+
+
+class ProjectResidencyForm(ModelForm):
+
+    class Meta:
+        model = ProjectResidency
+        fields = '__all__'
diff --git a/app/organization/projects/migrations/0048_auto_20170307_1540.py b/app/organization/projects/migrations/0048_auto_20170307_1540.py
new file mode 100644 (file)
index 0000000..7a44e89
--- /dev/null
@@ -0,0 +1,89 @@
+# -*- coding: utf-8 -*-
+# Generated by Django 1.9.11 on 2017-03-07 14:40
+from __future__ import unicode_literals
+
+from django.db import migrations, models
+import django.db.models.deletion
+import mezzanine.core.fields
+
+
+class Migration(migrations.Migration):
+
+    dependencies = [
+        ('sites', '0002_alter_domain_unique'),
+        ('organization-network', '0089_auto_20170303_1637'),
+        ('organization-projects', '0047_remove_projectictdata_contact'),
+    ]
+
+    operations = [
+        migrations.CreateModel(
+            name='ProjectResidency',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('keywords_string', models.CharField(blank=True, editable=False, max_length=500)),
+                ('title', models.CharField(max_length=500, verbose_name='Title')),
+                ('slug', models.CharField(blank=True, help_text='Leave blank to have the URL auto-generated from the title.', max_length=2000, null=True, verbose_name='URL')),
+                ('_meta_title', models.CharField(blank=True, help_text='Optional title to be used in the HTML title tag. If left blank, the main title field will be used.', max_length=500, null=True, verbose_name='Title')),
+                ('description', models.TextField(blank=True, verbose_name='Description')),
+                ('gen_description', models.BooleanField(default=True, help_text='If checked, the description will be automatically generated from content. Uncheck if you want to manually set a custom description.', verbose_name='Generate description')),
+                ('created', models.DateTimeField(editable=False, null=True)),
+                ('updated', models.DateTimeField(editable=False, null=True)),
+                ('status', models.IntegerField(choices=[(1, 'Draft'), (2, 'Published')], default=2, help_text='With Draft chosen, will only be shown for admin users on the site.', verbose_name='Status')),
+                ('publish_date', models.DateTimeField(blank=True, db_index=True, help_text="With Published chosen, won't be shown until this time", null=True, verbose_name='Published from')),
+                ('expiry_date', models.DateTimeField(blank=True, help_text="With Published chosen, won't be shown after this time", null=True, verbose_name='Expires on')),
+                ('short_url', models.URLField(blank=True, null=True)),
+                ('in_sitemap', models.BooleanField(default=True, verbose_name='Show in sitemap')),
+                ('content', mezzanine.core.fields.RichTextField(verbose_name='Content')),
+                ('date_from', models.DateField(blank=True, null=True, verbose_name='begin date')),
+                ('date_to', models.DateField(blank=True, null=True, verbose_name='end date')),
+                ('validated', models.BooleanField(default=False)),
+                ('producer_commitment', models.TextField(verbose_name='producer commitment')),
+                ('artist', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='residencies', to='organization-network.Person', verbose_name='artist')),
+                ('producer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='residencies', to='organization-network.Organization', verbose_name='producer')),
+                ('project', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='residencies', to='organization-projects.Project', verbose_name='project')),
+                ('site', models.ForeignKey(editable=False, on_delete=django.db.models.deletion.CASCADE, to='sites.Site')),
+            ],
+            options={
+                'verbose_name_plural': 'Project residencies',
+                'verbose_name': 'Project residency',
+            },
+        ),
+        migrations.CreateModel(
+            name='ProjectResidencyFile',
+            fields=[
+                ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
+                ('_order', mezzanine.core.fields.OrderField(null=True, verbose_name='Order')),
+                ('title', models.CharField(max_length=1024, verbose_name='title')),
+                ('description', models.TextField(blank=True, verbose_name='description')),
+                ('file', mezzanine.core.fields.FileField(max_length=1024, verbose_name='document')),
+                ('residency', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='files', to='organization-projects.ProjectResidency', verbose_name='project residency file')),
+            ],
+            options={
+                'ordering': ('_order',),
+            },
+        ),
+        migrations.AlterModelOptions(
+            name='projectcall',
+            options={'ordering': ['title'], 'verbose_name': 'project call', 'verbose_name_plural': 'project calls'},
+        ),
+        migrations.AddField(
+            model_name='projectcall',
+            name='producer_form_content',
+            field=mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='Producer form content'),
+        ),
+        migrations.AddField(
+            model_name='projectcall',
+            name='project_form_content',
+            field=mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='Project form content'),
+        ),
+        migrations.AddField(
+            model_name='projectcall',
+            name='residency_form_content',
+            field=mezzanine.core.fields.RichTextField(blank=True, null=True, verbose_name='Residency form content'),
+        ),
+        migrations.AlterField(
+            model_name='projectcall',
+            name='name',
+            field=models.CharField(blank=True, max_length=512, verbose_name='name'),
+        ),
+    ]
index 18ef493d52de58adc4a8ee2bf822825f0f93f70c..d113b487e7f1341a690333ce24f74c9e4ceded06 100644 (file)
@@ -179,10 +179,14 @@ class ProjectTopicPage(Page, SubTitled):
 
 class ProjectCall(Displayable, Period, RichText, NamedOnly):
 
+    project_form_content = RichTextField(_("Project form content"), blank=True, null=True)
+    residency_form_content = RichTextField(_("Residency form content"), blank=True, null=True)
+    producer_form_content = RichTextField(_("Producer form content"), blank=True, null=True)
+
     class Meta:
         verbose_name = _('project call')
         verbose_name_plural = _("project calls")
-        ordering = ['title', 'name',]
+        ordering = ['title',]
 
     def __str__(self):
         return self.title
@@ -190,6 +194,13 @@ class ProjectCall(Displayable, Period, RichText, NamedOnly):
     def get_absolute_url(self):
         return reverse("organization-call-detail", kwargs={"slug": self.slug})
 
+    def save(self, *args, **kwargs):
+        if not self.name and self.title:
+            self.name = self.title
+        if not self.title and self.name:
+            self.title = self.name
+        super(ProjectCall, self).save(args, kwargs)
+
 
 class ProjectCallBlock(Block):
 
@@ -348,3 +359,24 @@ class ProjectContact(Person):
     class Meta:
         verbose_name = 'Project contact'
         verbose_name_plural = 'Project contacts'
+
+
+class ProjectResidency(Displayable, Period, RichText):
+
+    project = models.ForeignKey(Project, verbose_name=_('project'), related_name='residencies', blank=True, null=True, on_delete=models.SET_NULL)
+    artist = models.ForeignKey(Person, verbose_name=_('artist'), related_name='residencies', blank=True, null=True, on_delete=models.SET_NULL)
+    producer = models.ForeignKey('organization-network.Organization', verbose_name=_('producer'), related_name='residencies', blank=True, null=True, on_delete=models.SET_NULL)
+    validated = models.BooleanField(default=False)
+    producer_commitment = models.TextField(_('producer commitment'), help_text="")
+
+    class Meta:
+        verbose_name = 'Project residency'
+        verbose_name_plural = 'Project residencies'
+
+    def get_absolute_url(self):
+        return reverse("organization-residency-detail", kwargs={"slug": self.slug})
+
+
+class ProjectResidencyFile(File):
+
+    residency = models.ForeignKey(ProjectResidency, verbose_name=_('project residency file'), related_name='files', blank=True, null=True, on_delete=models.SET_NULL)
index 8dff852b1682eeaefd0499535bbd1b38a22b86e4..886d0a02437bc355cbd381623901ed56e20472ad 100644 (file)
@@ -129,7 +129,7 @@ class ProjectICTDataTranslationOptions(TranslationOptions):
 @register(ProjectCall)
 class ProjectCallTranslationOptions(TranslationOptions):
 
-    fields = ('title', 'description', 'content')
+    fields = ('title', 'description', 'content',)
 
 
 @register(ProjectCallBlock)
index 1d7b18d142205c965da601795fa80ac62f40db54..e9c91a3605d091354b2362d1b51d2c8d9eeaf5b3 100644 (file)
@@ -31,11 +31,26 @@ from mezzanine.conf import settings
 from organization.projects.views import *
 
 urlpatterns = [
-    url("^project/detail/(?P<slug>.*)/$", ProjectDetailView.as_view(), name='organization-project-detail'),
     url("^dynamic-content-project/$",  permission_required('project.can_edit')(DynamicContentProjectView.as_view()), name='dynamic-content-project'),
-    url("^project/demo/(?P<slug>.*)/$", ProjectDemoDetailView.as_view(), name='organization-project-demo-detail'),
-    url("^project/blog/(?P<slug>.*)/$", ProjectBlogPageView.as_view(), name='organization-project-blogpage-detail'),
-    url("^project/ict/create/$", ProjectICTCreateView.as_view(), name='organization-project-create'),
-    url("^call/detail/(?P<slug>.*)/$", ProjectCallDetailView.as_view(), name='organization-call-detail'),
-    url("^call/list/$", ProjectCallListView.as_view(), name='organization-call-list'),
+
+    url("^project/detail/(?P<slug>.*)/$", ProjectDetailView.as_view(), name='organization-project-detail'),
+    url("^projects/demo/(?P<slug>.*)/$", ProjectDemoDetailView.as_view(), name='organization-project-demo-detail'),
+    url("^projects/blog/(?P<slug>.*)/$", ProjectBlogPageView.as_view(), name='organization-project-blogpage-detail'),
+
+    url("^calls/list/$", ProjectCallListView.as_view(), name='organization-call-list'),
+    url("^calls/detail/(?P<slug>.*)/$", ProjectCallDetailView.as_view(), name='organization-call-detail'),
+
+    url("^calls/detail/(?P<slug>.*)/projects/submission/$", ProjectICTCreateView.as_view(), name='organization-project-create'),
+    url("^calls/detail/(?P<call_slug>.*)/projects/detail/(?P<slug>.*)/$", ProjectICTDetailView.as_view(), name='organization-project-detail'),
+    url("^calls/detail/(?P<call_slug>.*)/projects/lists/$", ProjectICTListView.as_view(), name='organization-project-list'),
+
+    url("^calls/detail/(?P<slug>.*)/producers/submission/$", ProducerCreateView.as_view(), name='organization-producer-create'),
+    url("^calls/detail/(?P<call_slug>.*)/producers/detail/(?P<slug>.*)/$", ProducerDetailView.as_view(), name='organization-producer-detail'),
+    url("^calls/detail/(?P<call_slug>.*)/producers/lists/$", ProducerListView.as_view(), name='organization-producer-list'),
+
+    url("^calls/detail/(?P<slug>.*)/residencies/submission/$", ProjectResidencyCreateView.as_view(), name='organization-residency-create'),
+    url("^calls/detail/(?P<call_slug>.*)/residencies/detail/(?P<slug>.*)/$", ProjectResidencyDetailView.as_view(), name='organization-residency-detail'),
+    url("^calls/detail/(?P<call_slug>.*)/residencies/lists/$", ProjectResidencyListView.as_view(), name='organization-residency-list'),
+
+
 ]
index 8cc162b60363aa72192786a1a0b5ad8d622132a5..6f7d1d2dea75bd2159d31432cb97f08728e12c2e 100644 (file)
@@ -68,6 +68,18 @@ class ProjectDetailView(SlugMixin, ProjectMixin, DetailView):
     template_name='projects/project_detail.html'
 
 
+class ProjectICTDetailView(SlugMixin, ProjectMixin, DetailView):
+
+    model = Project
+    template_name='projects/project_ict_detail.html'
+
+
+class ProjectListView(ListView):
+
+    model = Project
+    template_name='projects/project_list.html'
+
+
 class DynamicContentProjectView(Select2QuerySetSequenceView):
 
     paginate_by = settings.DAL_MAX_RESULTS
@@ -122,6 +134,15 @@ class ProjectICTCreateView(CreateWithInlinesView):
     template_name='projects/project_ict_create.html'
     inlines = [ProjectICTDataInline, ProjectSimpleImageInline, ProjectContactInline,]
 
+    def get_context_data(self, **kwargs):
+        context['call'] = get_object_or_404(ProjectCall, slug=self.kwargs['call_slug'])
+        return context
+
+class ProjectICTListView(ListView):
+
+    model = Project
+    template_name='projects/project_ict_list.html'
+
 
 class ProjectCallDetailView(SlugMixin, DetailView):
 
@@ -129,7 +150,47 @@ class ProjectCallDetailView(SlugMixin, DetailView):
     template_name='projects/project_call_detail.html'
 
 
-class ProjectCallListView(SlugMixin, ListView):
+class ProjectCallListView(ListView):
 
     model = ProjectCall
     template_name='projects/project_call_list.html'
+
+
+class ProducerDetailView(SlugMixin, DetailView):
+
+    model = Organization
+    template_name='projects/project_producer_detail.html'
+
+
+class ProducerListView(ListView):
+
+    model = Organization
+    template_name='projects/project_producer_list.html'
+
+
+class ProducerCreateView(CreateWithInlinesView):
+
+    model = Organization
+    form_class = ProducerForm
+    template_name='projects/project_producer_create.html'
+    # inlines = [OrganizationICTDataInline, OrganizationSimpleImageInline, OrganizationContactInline,]
+
+
+class ProjectResidencyDetailView(SlugMixin, DetailView):
+
+    model = ProjectResidency
+    template_name='projects/project_residency_detail.html'
+
+
+class ProjectResidencyListView(ListView):
+
+    model = ProjectResidency
+    template_name='projects/project_residency_list.html'
+
+
+class ProjectResidencyCreateView(CreateWithInlinesView):
+
+    model = ProjectResidency
+    form_class = ProjectResidencyForm
+    template_name='projects/project_residency_create.html'
+    inlines = []
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_call_detail.html b/app/themes/vertigo_starts_eu/templates/projects/project_call_detail.html
new file mode 100644 (file)
index 0000000..b9d35bb
--- /dev/null
@@ -0,0 +1,351 @@
+{% extends "vertigo_starts_eu/pages/page.html" %}
+{% load mezzanine_tags keyword_tags i18n organization_tags pages_tags %}
+
+{% block meta_title %}{{ object.meta_title }}{% endblock %}
+
+{% block meta_keywords %}{% metablock %}
+{% keywords_for object as keywords %}
+{% for keyword in keywords %}
+    {% if not forloop.first %}, {% endif %}
+    {{ keyword }}
+{% endfor %}
+{% endmetablock %}{% endblock %}
+
+{% block page_class %}
+    object
+{% endblock %}
+
+{% block body_class %}
+    pattern pattern-bg {{ department.pages.all.0.weaving_css_class }}
+{% endblock %}
+
+{% block breadcrumb_menu %}
+    {{ block.super }}
+    <li class="breadcrumb__item active">{{ object.title }}</li>
+{% endblock %}
+
+{% block page_tags %}
+
+    {% comment %}
+        {% if department %}
+            <div class="tag dashed dashed--yellow">
+              {{ department.pages.all.0.title }}
+            </div>
+        {% endif %}
+        <div class="tag tag--category">
+            {% trans 'Project' %}
+        </div>
+    {% endcomment %}
+
+{% endblock %}
+
+{% block page_title %}
+
+    {% editable object.title %}
+        <h1 class="dotted">{{ object.title }}</h1>
+    {% endeditable %}
+
+    {% with page.get_ascendants|last as top_level_parent %}
+        {% if linked_organization_content and research_slug == top_level_parent.slug %}
+            {% include 'pages/page/includes/linked_organization_content.html' %}
+        {% endif %}
+    {% endwith %}
+
+    {% if object.description %}
+        {% editable object.description %}
+            <div class="chapo">
+                {{ object.description }}
+            </div>
+        {% endeditable %}
+    {% endif %}
+
+{% endblock %}
+
+{% block page_content %}
+    {% if object.content %}
+        {% editable object.content %}
+            {{ object.content|richtext_filters|safe }}
+        {% endeditable %}
+    {% endif %}
+{% endblock %}
+
+{% block page_sidebar %}
+    <ul class="nav-tree nav-tree--level-{{ branch_level }}" data-sticky data-sticky-parent="row" data-sticky-offset="100" data-sticky-detach-at="971">
+        <li class="nav-tree__item">
+            <a class="nav-tree__link" href="{{ page.get_ascendants.0.get_absolute_url }}">{% trans "Home" %}</a>
+        </li>
+        <li class="nav-tree__item">
+            <a class="nav-tree__link" href="{{ page.get_absolute_url }}">{{ page.title }}</a>
+        </li>
+        <li class="nav-tree__item">
+            <a class="nav-tree__link active" href="{{ page.get_absolute_url }}">{{ object.title }}</a>
+            <ul class="nav-tree" data-summary>
+                <li class="nav-tree__item nav-tree__item--sub hide">
+                    <a class="nav-tree__link nav-tree__link--sub" href="#"></a>
+                </li>
+            </ul>
+        </li>
+    </ul>
+{% endblock %}
+
+{% block page_link %}
+    {% with object.links.all as links %}
+        {% if links %}
+            {% include 'core/inc/link.html' %}
+        {% endif %}
+    {% endwith %}
+{% endblock %}
+
+{% block page_audio %}
+  {% with object as object %}
+      {{ block.super }}
+  {% endwith %}
+{% endblock %}
+
+{% block page_slider %}
+    {% with object as object %}
+        {{ block.super }}
+    {% endwith %}
+{% endblock %}
+
+{% block page_video %}
+  {% with object as object %}
+      {{ block.super }}
+  {% endwith %}
+{% endblock %}
+
+{% block page_sub_content %}
+
+    {% if object.type == 'external' %}
+        <div class="white-bg pb2">
+            <hr class="mt0 invisible" />
+            <div class="page__block page__block--yellow">
+                <div class="container">
+                    <div class="row">
+                        <div class="col-sm-12 col-lg-10 col-lg-push-1">
+                            <div class="row">
+                                <div class="col-sm-6">
+                                    <div class="project-details">
+                                        <h3 class="dotted project-details__title">{% trans "Project details" %}</h3>
+
+                                        <div>
+                                            {% if object.program %}
+                                                <div class="project-details__item">
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Program" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        {{ object.program }}
+                                                    </div>
+                                                </div>
+                                            {% endif %}
+
+                                            {% if object.program_type %}
+                                                <div class="project-details__item">
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Program type" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        {{ object.program_type }}
+                                                    </div>
+                                                </div>
+                                            {% endif %}
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "Beginning" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {{ object.date_from }}
+                                                </div>
+                                            </div>
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "End" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {{ object.date_to }}
+                                                </div>
+                                            </div>
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "Status" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {{ object.object_status }}
+                                                </div>
+                                            </div>
+
+                                            {% if object.website %}
+                                                <div class="project-details__item">
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Website" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        <a href="{{ object.website }}" target="_blank" title="{{ object.title }}">{{ object.website }}</a>
+                                                    </div>
+                                                </div>
+                                            {% endif %}
+
+                                            <div class="project-details__logo">
+                                                {% with object.images.all|get_type:'logo' as images %}
+                                                    {% include 'core/inc/logo.html' %}
+                                                {% endwith %}
+                                            </div>
+
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="col-sm-6">
+                                    <div class="project-details">
+                                        <h3 class="dotted project-details__title">{% trans "Participants" %}</h3>
+
+                                        <div>
+
+                                            {% if object.lead_team or object.lead_organization %}
+                                                <div class="project-details__item">
+                                                  {% if object.lead_team %}
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Project lead team" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        <a href="{% url "page" object.lead_team.pages.all.0 %}">{{ object.lead_team.short }}</a>
+                                                    </div>
+                                                  {% elif object.lead_organization %}
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Project lead organization" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        {% if object.lead_organization.url %}
+                                                            <a href="{{ object.lead_organization.url }}" target="_blank" title="{{ object.lead_organization }}">
+                                                        {% endif %}
+                                                            {{ object.lead_organization }}
+                                                        {% if object.lead_organization.url %}
+                                                            </a>
+                                                        {% endif %}
+                                                    </div>
+                                                  {% endif %}
+                                                </div>
+                                            {% endif %}
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "Partners" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {% for organization in object.organizations.all %}
+                                                        {% if organization.url %}
+                                                            <a href="{{ organization.url }}" target="_blank" title="{{ organization }}">
+                                                        {% endif %}
+                                                            {{ organization }}<br>
+                                                        {% if organization.url %}
+                                                            </a>
+                                                        {% endif %}
+                                                    {% endfor %}
+                                                </div>
+
+                                                <div class="project-details__item-title">
+                                                    {% trans "teams" %} ({{ host_organization }})
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {% for team in object.teams.all %}
+                                                        {% if team.pages.all %}
+                                                            <a href="{% url "page" team.pages.all.0.slug %}">{{ team.short }}</a><br>
+                                                        {% endif %}
+                                                    {% endfor %}
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    {% endif %}
+
+    {% with object.blocks.all as blocks %}
+        {% include "projects/inc/project_block.html" %}
+    {% endwith %}
+{% endblock %}
+
+{% block page_demo %}
+{% if object.demos.all %}
+<div class="page__block{% if block.background_color %} page__block--{{ block.background_color }}{% endif %}">
+  <hr class="mt0">
+    <div class="white-bg mb2">
+        <div class="container">
+            <div class="row" data-summary-content>
+                <div class="col-sm-9 col-sm-push-3 col-lg-8 col-lg-push-2">
+                    <ul>
+                        <h2>{% trans "Demos" %}</h2>
+                        {% for demo in object.demos.all %}
+                            <li><a href="{% url 'organization-project-demo-detail' demo.slug %}">{{ demo.title }}</a></li>
+                        {% endfor %}
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+{% endif %}
+{% endblock %}
+
+{% block page_blog %}
+{% if object.blog_pages.all %}
+<div class="page__block{% if block.background_color %} page__block--{{ block.background_color }}{% endif %}">
+  <hr class="mt0">
+    <div class="white-bg mb2">
+        <div class="container">
+            <div class="row" data-summary-content>
+                <div class="col-sm-9 col-sm-push-3 col-lg-8 col-lg-push-2">
+                    <ul>
+                        <h2>{% trans "Blog Pages" %}</h2>
+                        {% for blog_page in object.blog_pages.all %}
+                            <li><a href="{% url 'organization-project-blogpage-detail' blog_page.slug %}">{{ blog_page.title }}</a></li>
+                        {% endfor %}
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+{% endif %}
+{% endblock %}
+
+{% block logo %}
+    {% if object.organizations.all|length > 0 %}
+        <div class="page__block{% if block.background_color %} page__block--{{ block.background_color }}{% endif %}">
+            <div class="white-bg pb2">
+                <div class="container">
+                    <div class="row" data-summary-content>
+                        <div class="col-sm-9 col-sm-push-3 col-lg-8 col-lg-push-2">
+                            <ul class="partners-list">
+                                {% if object.lead_organization %}
+                                    {% with object.lead_organization.images.all|get_type:'logo' as images %}
+                                        {% include 'core/inc/logo.html' %}
+                                    {% endwith %}
+                                {% endif %}
+                                {% for organization in object.organizations.all %}
+                                    {% with organization.images.all|get_type:'logo' as images %}
+                                        {% include 'core/inc/logo.html' %}
+                                    {% endwith %}
+                                {% endfor %}
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    {% endif %}
+{% endblock %}
+
+{% block page_related_content %}
+    {% with dynamic_content=object.dynamic_content_object.all|filter_content object=object %}
+        {% include "core/inc/related_content.html" %}
+    {% endwith %}
+{% endblock %}
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_call_list.html b/app/themes/vertigo_starts_eu/templates/projects/project_call_list.html
new file mode 100644 (file)
index 0000000..e69de29
index a5d08a2b88f9ef62633a912441cb960b2fd550ea..1f0e9402dda895239c974d3f720f756a61d60793 100644 (file)
 {% endblock %}
 
 {% block page_content %}
+
+    <div class="row">
+        {% if object.content %}
+            {% editable object.content %}
+                {{ call.project_form_content|richtext_filters|safe }}
+            {% endeditable %}
+        {% endif %}
+    </div>
+
     <div class="row">
         {% errors_for form %}
         <form class="mezzanine-form form" method="post"{% if form.is_multipart %} enctype="multipart/form-data"{% endif %}>
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_ict_detail.html b/app/themes/vertigo_starts_eu/templates/projects/project_ict_detail.html
new file mode 100644 (file)
index 0000000..b9d35bb
--- /dev/null
@@ -0,0 +1,351 @@
+{% extends "vertigo_starts_eu/pages/page.html" %}
+{% load mezzanine_tags keyword_tags i18n organization_tags pages_tags %}
+
+{% block meta_title %}{{ object.meta_title }}{% endblock %}
+
+{% block meta_keywords %}{% metablock %}
+{% keywords_for object as keywords %}
+{% for keyword in keywords %}
+    {% if not forloop.first %}, {% endif %}
+    {{ keyword }}
+{% endfor %}
+{% endmetablock %}{% endblock %}
+
+{% block page_class %}
+    object
+{% endblock %}
+
+{% block body_class %}
+    pattern pattern-bg {{ department.pages.all.0.weaving_css_class }}
+{% endblock %}
+
+{% block breadcrumb_menu %}
+    {{ block.super }}
+    <li class="breadcrumb__item active">{{ object.title }}</li>
+{% endblock %}
+
+{% block page_tags %}
+
+    {% comment %}
+        {% if department %}
+            <div class="tag dashed dashed--yellow">
+              {{ department.pages.all.0.title }}
+            </div>
+        {% endif %}
+        <div class="tag tag--category">
+            {% trans 'Project' %}
+        </div>
+    {% endcomment %}
+
+{% endblock %}
+
+{% block page_title %}
+
+    {% editable object.title %}
+        <h1 class="dotted">{{ object.title }}</h1>
+    {% endeditable %}
+
+    {% with page.get_ascendants|last as top_level_parent %}
+        {% if linked_organization_content and research_slug == top_level_parent.slug %}
+            {% include 'pages/page/includes/linked_organization_content.html' %}
+        {% endif %}
+    {% endwith %}
+
+    {% if object.description %}
+        {% editable object.description %}
+            <div class="chapo">
+                {{ object.description }}
+            </div>
+        {% endeditable %}
+    {% endif %}
+
+{% endblock %}
+
+{% block page_content %}
+    {% if object.content %}
+        {% editable object.content %}
+            {{ object.content|richtext_filters|safe }}
+        {% endeditable %}
+    {% endif %}
+{% endblock %}
+
+{% block page_sidebar %}
+    <ul class="nav-tree nav-tree--level-{{ branch_level }}" data-sticky data-sticky-parent="row" data-sticky-offset="100" data-sticky-detach-at="971">
+        <li class="nav-tree__item">
+            <a class="nav-tree__link" href="{{ page.get_ascendants.0.get_absolute_url }}">{% trans "Home" %}</a>
+        </li>
+        <li class="nav-tree__item">
+            <a class="nav-tree__link" href="{{ page.get_absolute_url }}">{{ page.title }}</a>
+        </li>
+        <li class="nav-tree__item">
+            <a class="nav-tree__link active" href="{{ page.get_absolute_url }}">{{ object.title }}</a>
+            <ul class="nav-tree" data-summary>
+                <li class="nav-tree__item nav-tree__item--sub hide">
+                    <a class="nav-tree__link nav-tree__link--sub" href="#"></a>
+                </li>
+            </ul>
+        </li>
+    </ul>
+{% endblock %}
+
+{% block page_link %}
+    {% with object.links.all as links %}
+        {% if links %}
+            {% include 'core/inc/link.html' %}
+        {% endif %}
+    {% endwith %}
+{% endblock %}
+
+{% block page_audio %}
+  {% with object as object %}
+      {{ block.super }}
+  {% endwith %}
+{% endblock %}
+
+{% block page_slider %}
+    {% with object as object %}
+        {{ block.super }}
+    {% endwith %}
+{% endblock %}
+
+{% block page_video %}
+  {% with object as object %}
+      {{ block.super }}
+  {% endwith %}
+{% endblock %}
+
+{% block page_sub_content %}
+
+    {% if object.type == 'external' %}
+        <div class="white-bg pb2">
+            <hr class="mt0 invisible" />
+            <div class="page__block page__block--yellow">
+                <div class="container">
+                    <div class="row">
+                        <div class="col-sm-12 col-lg-10 col-lg-push-1">
+                            <div class="row">
+                                <div class="col-sm-6">
+                                    <div class="project-details">
+                                        <h3 class="dotted project-details__title">{% trans "Project details" %}</h3>
+
+                                        <div>
+                                            {% if object.program %}
+                                                <div class="project-details__item">
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Program" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        {{ object.program }}
+                                                    </div>
+                                                </div>
+                                            {% endif %}
+
+                                            {% if object.program_type %}
+                                                <div class="project-details__item">
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Program type" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        {{ object.program_type }}
+                                                    </div>
+                                                </div>
+                                            {% endif %}
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "Beginning" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {{ object.date_from }}
+                                                </div>
+                                            </div>
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "End" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {{ object.date_to }}
+                                                </div>
+                                            </div>
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "Status" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {{ object.object_status }}
+                                                </div>
+                                            </div>
+
+                                            {% if object.website %}
+                                                <div class="project-details__item">
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Website" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        <a href="{{ object.website }}" target="_blank" title="{{ object.title }}">{{ object.website }}</a>
+                                                    </div>
+                                                </div>
+                                            {% endif %}
+
+                                            <div class="project-details__logo">
+                                                {% with object.images.all|get_type:'logo' as images %}
+                                                    {% include 'core/inc/logo.html' %}
+                                                {% endwith %}
+                                            </div>
+
+                                        </div>
+                                    </div>
+                                </div>
+                                <div class="col-sm-6">
+                                    <div class="project-details">
+                                        <h3 class="dotted project-details__title">{% trans "Participants" %}</h3>
+
+                                        <div>
+
+                                            {% if object.lead_team or object.lead_organization %}
+                                                <div class="project-details__item">
+                                                  {% if object.lead_team %}
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Project lead team" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        <a href="{% url "page" object.lead_team.pages.all.0 %}">{{ object.lead_team.short }}</a>
+                                                    </div>
+                                                  {% elif object.lead_organization %}
+                                                    <div class="project-details__item-title">
+                                                        {% trans "Project lead organization" %}
+                                                    </div>
+                                                    <div class="project-details__item-desc">
+                                                        {% if object.lead_organization.url %}
+                                                            <a href="{{ object.lead_organization.url }}" target="_blank" title="{{ object.lead_organization }}">
+                                                        {% endif %}
+                                                            {{ object.lead_organization }}
+                                                        {% if object.lead_organization.url %}
+                                                            </a>
+                                                        {% endif %}
+                                                    </div>
+                                                  {% endif %}
+                                                </div>
+                                            {% endif %}
+
+                                            <div class="project-details__item">
+                                                <div class="project-details__item-title">
+                                                    {% trans "Partners" %}
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {% for organization in object.organizations.all %}
+                                                        {% if organization.url %}
+                                                            <a href="{{ organization.url }}" target="_blank" title="{{ organization }}">
+                                                        {% endif %}
+                                                            {{ organization }}<br>
+                                                        {% if organization.url %}
+                                                            </a>
+                                                        {% endif %}
+                                                    {% endfor %}
+                                                </div>
+
+                                                <div class="project-details__item-title">
+                                                    {% trans "teams" %} ({{ host_organization }})
+                                                </div>
+                                                <div class="project-details__item-desc">
+                                                    {% for team in object.teams.all %}
+                                                        {% if team.pages.all %}
+                                                            <a href="{% url "page" team.pages.all.0.slug %}">{{ team.short }}</a><br>
+                                                        {% endif %}
+                                                    {% endfor %}
+                                                </div>
+                                            </div>
+                                        </div>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    {% endif %}
+
+    {% with object.blocks.all as blocks %}
+        {% include "projects/inc/project_block.html" %}
+    {% endwith %}
+{% endblock %}
+
+{% block page_demo %}
+{% if object.demos.all %}
+<div class="page__block{% if block.background_color %} page__block--{{ block.background_color }}{% endif %}">
+  <hr class="mt0">
+    <div class="white-bg mb2">
+        <div class="container">
+            <div class="row" data-summary-content>
+                <div class="col-sm-9 col-sm-push-3 col-lg-8 col-lg-push-2">
+                    <ul>
+                        <h2>{% trans "Demos" %}</h2>
+                        {% for demo in object.demos.all %}
+                            <li><a href="{% url 'organization-project-demo-detail' demo.slug %}">{{ demo.title }}</a></li>
+                        {% endfor %}
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+{% endif %}
+{% endblock %}
+
+{% block page_blog %}
+{% if object.blog_pages.all %}
+<div class="page__block{% if block.background_color %} page__block--{{ block.background_color }}{% endif %}">
+  <hr class="mt0">
+    <div class="white-bg mb2">
+        <div class="container">
+            <div class="row" data-summary-content>
+                <div class="col-sm-9 col-sm-push-3 col-lg-8 col-lg-push-2">
+                    <ul>
+                        <h2>{% trans "Blog Pages" %}</h2>
+                        {% for blog_page in object.blog_pages.all %}
+                            <li><a href="{% url 'organization-project-blogpage-detail' blog_page.slug %}">{{ blog_page.title }}</a></li>
+                        {% endfor %}
+                    </ul>
+                </div>
+            </div>
+        </div>
+    </div>
+</div>
+{% endif %}
+{% endblock %}
+
+{% block logo %}
+    {% if object.organizations.all|length > 0 %}
+        <div class="page__block{% if block.background_color %} page__block--{{ block.background_color }}{% endif %}">
+            <div class="white-bg pb2">
+                <div class="container">
+                    <div class="row" data-summary-content>
+                        <div class="col-sm-9 col-sm-push-3 col-lg-8 col-lg-push-2">
+                            <ul class="partners-list">
+                                {% if object.lead_organization %}
+                                    {% with object.lead_organization.images.all|get_type:'logo' as images %}
+                                        {% include 'core/inc/logo.html' %}
+                                    {% endwith %}
+                                {% endif %}
+                                {% for organization in object.organizations.all %}
+                                    {% with organization.images.all|get_type:'logo' as images %}
+                                        {% include 'core/inc/logo.html' %}
+                                    {% endwith %}
+                                {% endfor %}
+                            </ul>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    {% endif %}
+{% endblock %}
+
+{% block page_related_content %}
+    {% with dynamic_content=object.dynamic_content_object.all|filter_content object=object %}
+        {% include "core/inc/related_content.html" %}
+    {% endwith %}
+{% endblock %}
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_ict_list.html b/app/themes/vertigo_starts_eu/templates/projects/project_ict_list.html
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_producer_create.html b/app/themes/vertigo_starts_eu/templates/projects/project_producer_create.html
new file mode 100644 (file)
index 0000000..4c10cf0
--- /dev/null
@@ -0,0 +1,50 @@
+{% extends "vertigo_starts_eu/pages/page.html" %}
+{% load mezzanine_tags keyword_tags i18n organization_tags pages_tags %}
+
+{% block meta_title %}{% endblock %}
+
+{% block meta_keywords %}{% endblock %}
+
+{% block body_class %}
+    pattern pattern-bg {{ department.pages.all.0.weaving_css_class }}
+{% endblock %}
+
+{% block breadcrumb_menu %}
+    {{ block.super }}
+    <li class="breadcrumb__item active">{{ object.title }}</li>
+{% endblock %}
+
+{% block page_tags %}
+{% endblock %}
+
+{% block page_title %}
+    {% editable object.title %}
+        <h1 class="dotted">{% trans "New producer form" %}</h1>
+    {% endeditable %}
+{% endblock %}
+
+{% block page_content %}
+    <div class="row">
+        {% errors_for form %}
+        <form class="mezzanine-form form" method="post"{% if form.is_multipart %} enctype="multipart/form-data"{% endif %}>
+            {% fields_for form %}
+            {% for formset in inlines %}
+                {{ formset.management_form }}
+                {% for form in formset %}
+                   {% fields_for form %}
+                {% endfor %}
+            {% endfor %}
+          <div class="form-actions">
+              <input class="btn btn-primary btn-lg" type="submit"
+                  value="{% if page.form.button_text %}{{ page.form.button_text }}{% else %}{% trans "Submit" %}{% endif %}">
+          </div>
+        </form>
+    </div>
+{% endblock %}
+
+{% block extra_js %}
+{{ block.super }}
+<script>
+$(function() {$('.mezzanine-form :input:visible:enabled:first').focus();});
+</script>
+{% endblock %}
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_producer_detail.html b/app/themes/vertigo_starts_eu/templates/projects/project_producer_detail.html
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_producer_list.html b/app/themes/vertigo_starts_eu/templates/projects/project_producer_list.html
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_residency_create.html b/app/themes/vertigo_starts_eu/templates/projects/project_residency_create.html
new file mode 100644 (file)
index 0000000..ea2ae62
--- /dev/null
@@ -0,0 +1,50 @@
+{% extends "vertigo_starts_eu/pages/page.html" %}
+{% load mezzanine_tags keyword_tags i18n organization_tags pages_tags %}
+
+{% block meta_title %}{% endblock %}
+
+{% block meta_keywords %}{% endblock %}
+
+{% block body_class %}
+    pattern pattern-bg {{ department.pages.all.0.weaving_css_class }}
+{% endblock %}
+
+{% block breadcrumb_menu %}
+    {{ block.super }}
+    <li class="breadcrumb__item active">{{ object.title }}</li>
+{% endblock %}
+
+{% block page_tags %}
+{% endblock %}
+
+{% block page_title %}
+    {% editable object.title %}
+        <h1 class="dotted">{% trans "New residency form" %}</h1>
+    {% endeditable %}
+{% endblock %}
+
+{% block page_content %}
+    <div class="row">
+        {% errors_for form %}
+        <form class="mezzanine-form form" method="post"{% if form.is_multipart %} enctype="multipart/form-data"{% endif %}>
+            {% fields_for form %}
+            {% for formset in inlines %}
+                {{ formset.management_form }}
+                {% for form in formset %}
+                   {% fields_for form %}
+                {% endfor %}
+            {% endfor %}
+          <div class="form-actions">
+              <input class="btn btn-primary btn-lg" type="submit"
+                  value="{% if page.form.button_text %}{{ page.form.button_text }}{% else %}{% trans "Submit" %}{% endif %}">
+          </div>
+        </form>
+    </div>
+{% endblock %}
+
+{% block extra_js %}
+{{ block.super }}
+<script>
+$(function() {$('.mezzanine-form :input:visible:enabled:first').focus();});
+</script>
+{% endblock %}
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_residency_detail.html b/app/themes/vertigo_starts_eu/templates/projects/project_residency_detail.html
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/app/themes/vertigo_starts_eu/templates/projects/project_residency_list.html b/app/themes/vertigo_starts_eu/templates/projects/project_residency_list.html
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/var b/var
index 595000c55f1205bced7a836d309be26303da1509..6bc517e8659de1d64d09f3a190e97a7e4c4abe5f 160000 (submodule)
--- a/var
+++ b/var
@@ -1 +1 @@
-Subproject commit 595000c55f1205bced7a836d309be26303da1509
+Subproject commit 6bc517e8659de1d64d09f3a190e97a7e4c4abe5f