Submitting events

This commit is contained in:
Andrew Radev 2015-08-10 14:52:45 +03:00
parent 08290d1770
commit ded7d69169
11 changed files with 146 additions and 13 deletions

View File

@ -25,7 +25,7 @@
textarea {
height: 15em;
width: 50em;
width: 45em;
}
img {

View File

@ -0,0 +1,35 @@
require_dependency "open_fest/application_controller"
module OpenFest
class EventsController < ApplicationController
def index
end
def new
@event_type = current_conference.event_types.find(params[:type])
@event = Event.new(event_type: @event_type)
end
def create
@event = Event.new(event_params)
if @event.save
# TODO (2015-08-10) Flash message?
flash[:notice] = 'Event was successfully created.'
redirect_to action: :index
else
render action: :new
end
end
private
def event_params
params.require(:event).permit(
:title, :subtitle, :length, :language,
:abstract, :description, :notes, :agreement,
:event_type_id
)
end
end
end

View File

@ -1,8 +0,0 @@
require_dependency "open_fest/application_controller"
module OpenFest
class WelcomeController < ApplicationController
def index
end
end
end

View File

@ -0,0 +1 @@
=> link_to t('views.welcome.submit_event', event_type: event_type.name.mb_chars.downcase), new_event_path(type: event_type.id), class: 'btn-link btn-link-large'

View File

@ -0,0 +1,23 @@
= simple_form_for @event, wrapper: :default do |form|
p
= form.error_notification
.form-inputs
= form.input :event_type_id, as: :hidden
= form.input :title, autofocus: true
= form.input :subtitle
-# TODO tracks -> indirectly through proposition?
-# form.input :track_id, collection: current_conference.tracks.map { |track| [track.name, track.id, {title: track.description}] }, required: true
= form.input :length
= form.input :language, collection: I18n.available_locales, include_blank: false, default: I18n.locale
= form.input :abstract
= form.input :description
= form.input :notes
-# TODO boolean hint CSS, missing divider
-# TODO error message?
= form.input :agreement, as: :boolean, wrapper_html: {class: 'input'}
= form.button :submit

View File

@ -1 +0,0 @@
=> link_to t('views.welcome.submit_event', event_type: event_type.name.mb_chars.downcase), '#', class: 'btn-link btn-link-large'

View File

@ -0,0 +1,42 @@
bg:
simple_form:
"yes": Да
"no": Не
required:
text: Задължително поле
mark: '*'
error_notification:
default_message: 'Моля, разгледайте посочените грешки във формуляра:'
hints:
user:
email: e-mail адресът Ви. Ще бъде видим само от организаторите
password: Парола с дължина между 8 и 128 символа
password_confirmation: Отново въведената отгоре парола
speaker_profile:
picture: Ваша снимка
organisation: Организацията, която представлявате
public_email: E-mail адрес, който ще бъде видим за посетителите
mobile_phone: Мобилен телефон, който ще бъде видим само за организаторите
biography: Опишете се с няколко изречения, говорейки за себе си в трето лице :)
github: Потребителското Ви име в Github
twitter: Потребителското Ви име в Twitter
event:
title: Заглавието на лекцията Ви
subtitle: Подзаглавието на лекцията Ви (ако има такова)
track_id: Потокът от лекции, в който искате да попадне лекцията Ви
length: Продължителността на лекция може да бъде от 40 до 45 минути
language: Език, на който ще бъде водена лекцията
abstract: Резюме на лекцията, което да може да бъде прочетено от посетителите (1 абзац)
description: Подробно описание на лекцията (няколко абзаца)
notes: Забележки, които искате да споделите с организаторския екип
agreement: Отбележете съгласни ли сте с това лекцията Ви да бъде записана и публикувана под лиценз CC-BY-ND (Creative Commons Attribution No Derivatives)
workshop:
title: Заглавието на уъркшопа Ви
subtitle: Подзаглавието на уъркшопа Ви (ако има такова)
track_id: Потокът от уъркшопи, в който искате да попадне уъркшопа Ви
length: Продължителността на всеки уъркшоп може да бъде от 30 до 120 минути
language: Език, на който ще бъде воден уъркшопа
abstract: Резюме на уъркшопа, което да може да бъде прочетено от посетителите (1 абзац)
description: Подробно описание на уъркшопа (няколко абзаца)
notes: Забележки, които искате да споделите с организаторския екип
agreement: Отбележете съгласни ли сте с това уъркшопът Ви да бъде записан и публикуван под лиценз CC-BY-ND (Creative Commons Attribution No Derivatives)

View File

@ -0,0 +1,42 @@
en:
simple_form:
"yes": Yes
"no": No
required:
text: Required field
mark: '*'
error_notification:
default_message: 'Please see the errors below:'
hints:
user:
email: Your e-mail address. Will be visible to the organizers only.
password: Password with length between 8 and 128 symbols
password_confirmation: Repeat the password
speaker_profile:
picture: Your photo
organisation: Your organization
public_email: E-mail address, visible to the visitors
mobile_phone: Mobile phone, visible for the organizers only
biography: Describe yourself in a few sentences in third person :)
github: Your Github username
twitter: Your Twitter username
lecture:
title: Title of your talk
subtitle: Sub-title of your talk (if applicable)
track_id: Track for your talk
length: The length of your talk can be from 40 to 45 minutes
language: Language in which the talk will be presented
abstract: Abstract of the talk, for the visitors
description: Detailed description of the talk, visible to the visitors
notes: Notes on your talk, visible only to the organizers
agreement: Indicate if you accept your lecture to be recorded and published under the CC-BY-ND (Creative Commons Attribution No Derivatives) license
workshop:
title: Title of your workshop
subtitle: Sub-title of your workshop (if applicable)
track_id: Track for your workshop
length: The length of the workshop can be from 30 to 120 minutes
language: Language in which the workshop will be conducted
abstract: Abstract of the workshop, visible to the visitors
description: Detailed description of the workshop, visible to the visitors
notes: Notes, visible only to the organizers
agreement: Indicate if you accept your workshop to be recorded and published under the CC-BY-ND (Creative Commons Attribution No Derivatives) license

View File

@ -1,9 +1,8 @@
OpenFest::Engine.routes.draw do
get 'welcome/index'
root to: 'welcome#index'
root to: 'events#index'
devise_for :users, module: 'open_fest/users'
resource :personal_profile, path: 'profile'
resources :events
end