diff --git a/www/conservancy/apps/fossy/admin.py b/www/conservancy/apps/fossy/admin.py index 643d7c24e129196e68b60ed76f8231aef5934f43..0322b63a3112bd9a4d4944e30712b4da9e943f03 100644 --- a/www/conservancy/apps/fossy/admin.py +++ b/www/conservancy/apps/fossy/admin.py @@ -5,5 +5,5 @@ from .models import CommunityTrackProposal @admin.register(CommunityTrackProposal) class CommunityTrackProposalAdmin(admin.ModelAdmin): - list_display = ['track_name', 'contact_name'] + list_display = ['title', 'primary_proposer'] pass diff --git a/www/conservancy/apps/fossy/migrations/0002_auto_20230130_1841.py b/www/conservancy/apps/fossy/migrations/0002_auto_20230130_1841.py new file mode 100644 index 0000000000000000000000000000000000000000..024e0654fe66e52478bda869a6996b4efb30d8a5 --- /dev/null +++ b/www/conservancy/apps/fossy/migrations/0002_auto_20230130_1841.py @@ -0,0 +1,100 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.11.29 on 2023-01-30 18:41 +from __future__ import unicode_literals + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('fossy', '0001_initial'), + ] + + operations = [ + migrations.RemoveField( + model_name='communitytrackproposal', + name='contact_email', + ), + migrations.RemoveField( + model_name='communitytrackproposal', + name='contact_name', + ), + migrations.RemoveField( + model_name='communitytrackproposal', + name='organisers', + ), + migrations.RemoveField( + model_name='communitytrackproposal', + name='overview', + ), + migrations.RemoveField( + model_name='communitytrackproposal', + name='track_name', + ), + migrations.AddField( + model_name='communitytrackproposal', + name='description', + field=models.TextField(default='', help_text='What do you hope to cover, who would you like to apply to speak and what audience would you like to attend?'), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='number_of_days', + field=models.CharField(default=1, help_text='Expected length of track, minimum of 1 day to a maximum of 4 days', max_length=255), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='other', + field=models.TextField(blank=True, verbose_name='Relevant URLs and any other information'), + ), + migrations.AddField( + model_name='communitytrackproposal', + name='primary_proposer', + field=models.CharField(default='', max_length=255), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='primary_proposer_email', + field=models.EmailField(default='', max_length=254), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='secondary_proposer', + field=models.CharField(default='', max_length=255), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='secondary_proposer_email', + field=models.EmailField(default='', max_length=254), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='special_requirements', + field=models.TextField(default='', help_text='Technical, accessibility or other needs'), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='title', + field=models.CharField(default='', max_length=255, verbose_name='Track title'), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='why_at_fossy', + field=models.TextField(default='', help_text='What elements of the technical, legal, community and diversity issues of FOSS does your track provide?', verbose_name='Why should we have this track at FOSSY?'), + preserve_default=False, + ), + migrations.AddField( + model_name='communitytrackproposal', + name='why_coordinators', + field=models.TextField(default='', help_text='What experience and unique perspective will you bring to the track, do you have experience running a conference track?', verbose_name='Why are the Proposers the right people to organise this track?'), + preserve_default=False, + ), + ] diff --git a/www/conservancy/apps/fossy/models.py b/www/conservancy/apps/fossy/models.py index bb664961277231cfc53a0711f71ece29f74ee8f6..a6936cbf8c9f7ff9cc690578dd8d88435be4d3ba 100644 --- a/www/conservancy/apps/fossy/models.py +++ b/www/conservancy/apps/fossy/models.py @@ -5,11 +5,15 @@ from django.db import models class CommunityTrackProposal(models.Model): uuid = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False) - track_name = models.CharField('Track name', max_length=255, help_text='e.g. Time Travel with Free Software') - contact_name = models.CharField('Contact name', max_length=255) - contact_email = models.EmailField('Contact email') - overview = models.TextField( - help_text='Please provide several paragraphs outlining your topic, the target audience and suggested talk themes. If selected we will contact you for an extended track description.') - organisers = models.TextField( - 'List of organisers', - help_text='Please include the names and job titles of yourself an any other organisers') + title = models.CharField('Track title', max_length=255) + description = models.TextField( + help_text='What do you hope to cover, who would you like to apply to speak and what audience would you like to attend?') + primary_proposer = models.CharField(max_length=255) + primary_proposer_email = models.EmailField() + secondary_proposer = models.CharField(max_length=255) + secondary_proposer_email = models.EmailField() + why_coordinators = models.TextField('Why are the Proposers the right people to organise this track?', help_text='What experience and unique perspective will you bring to the track, do you have experience running a conference track?') + why_at_fossy = models.TextField('Why should we have this track at FOSSY?', help_text='What elements of the technical, legal, community and diversity issues of FOSS does your track provide?') + number_of_days = models.CharField(max_length=255, help_text='Expected length of track, minimum of 1 day to a maximum of 4 days') + special_requirements = models.TextField(help_text='Technical, accessibility or other needs') + other = models.TextField('Relevant URLs and any other information', blank=True) diff --git a/www/conservancy/apps/fossy/views.py b/www/conservancy/apps/fossy/views.py index 1660f7c64ed358960f6ddfb478f11cfd9e74a803..92fed45f6200a2b387d43c6a0a1e3d9bf28e7f9f 100644 --- a/www/conservancy/apps/fossy/views.py +++ b/www/conservancy/apps/fossy/views.py @@ -17,7 +17,7 @@ class CommunityTrackProposalCreateView(CreateView): intro = 'The following FOSSY community track proposal has been submitted:\n\n' body = intro + '\n'.join(['{}: {}'.format(k, v) for k, v in form.cleaned_data.items() if k != 'agreement_terms']) send_mail( - 'Community track proposal {}'.format(form.cleaned_data['track_name']), + 'Community track proposal {}'.format(form.cleaned_data['title']), body, 'conference@sfconservancy.org', ['conference@sfconservancy.org'], diff --git a/www/conservancy/templates/fossy/base.html b/www/conservancy/templates/fossy/base.html index e3dc2afaf5e1359c67ee299fa6b022c09d09cd90..ffc1c9045b09dea1460755054dca91cca8d88e33 100644 --- a/www/conservancy/templates/fossy/base.html +++ b/www/conservancy/templates/fossy/base.html @@ -20,7 +20,7 @@ height: 8rem; padding: 0.25rem; } - #id_track_name, #id_contact_name, #id_contact_email { + #id_title { width: 100%; max-width: 25rem; } diff --git a/www/conservancy/templates/fossy/community_track_proposal_form.html b/www/conservancy/templates/fossy/community_track_proposal_form.html index 70866d6a6cb05617563948ec02267916a74dc866..72e39b1525cda2d67b0ee0f3a99b8655f35980b0 100644 --- a/www/conservancy/templates/fossy/community_track_proposal_form.html +++ b/www/conservancy/templates/fossy/community_track_proposal_form.html @@ -2,7 +2,11 @@ {% block outercontent %}

FOSSY: Propose a Commmunity Track!

-

A large portion of FOSSY will be made up of community run tracks, similar to "DevRooms" at FOSDEM. We'd like to invite you to run a track based on a topic you're passionate about. If selected, you will be responsible for inviting speakers and selecting and scheduling talks for your track. If that sounds like you, please fill in the form to tell us more about your idea. If you have any questions please don't hesitate to email us at conference@sfconservancy.org.

+

SFC will be hosting a community oriented conference this coming summer July 13-16, 2023 in Portland, Oregon in the United States. focused on the creation and impact of free and open source software, uplifting contributors of all experience. As this is the first year we are running a conference of this scale, we plan to have 8 tracks of talks over 4 days. We plan to dedicate a substantial portion of these track to community run tracks, similar to "DevRooms" at FOSDEM. We'd like to invite you to run a track based on a topic you're passionate about. If selected, you will be responsible for inviting speakers, selecting talks and organising the schedule for your track. If that sounds good to you, please fill in the form to tell us more about your idea. If you have any questions please don't hesitate to email us at conference@sfconservancy.org.

+ +

Please understand that organizing a track is a signficant amount of work, and while we'll be so grateful for your contributions, depending on sponsor sign ups we are unlikely to be able to pay stipends or fund travel for speakers or organizers of your track (please let us know if travel is burdensome for you as an organizer). Given the high work load of organizing a conference track, we expect at least two people to be responsible (see primary and secondary proposer's below). Feel free to include more later, but we need at least two people for the proposal.

+ +

Please fill out the questions below to apply. We want the conference to appeal to a wide audience, so are looking for tracks ranging from specific technical topics and people-focused themes, to the collaborative future of free software. We'd like to see a diversity of both niche and general topics that allow people from different backgrounds to participate.

{% csrf_token %}