parent
4761dc8bf6
commit
8cc52a697d
After Width: | Height: | Size: 187 B |
After Width: | Height: | Size: 276 B |
After Width: | Height: | Size: 734 B |
After Width: | Height: | Size: 427 B |
@ -0,0 +1,3 @@
|
||||
# Place all the behaviors and hooks related to the matching controller here.
|
||||
# All this logic will automatically be available in application.js.
|
||||
# You can use CoffeeScript in this file: http://coffeescript.org/
|
@ -0,0 +1,66 @@
|
||||
main h2:first-child
|
||||
margin-top: 1.1em
|
||||
a
|
||||
font-weight: normal
|
||||
&.previous-month
|
||||
margin-right: 0.4em
|
||||
&.next-month
|
||||
margin-left: 0.4em
|
||||
|
||||
table.calendar
|
||||
width: 90%
|
||||
margin: 0 auto
|
||||
padding: 0
|
||||
margin-top: 3.7em
|
||||
border-spacing: 2px
|
||||
th
|
||||
padding: 0 0 5px 0
|
||||
text-transform: capitalize
|
||||
td
|
||||
width: 14% !important
|
||||
height: 6em
|
||||
border: 1px solid #89B7E5
|
||||
vertical-align: top
|
||||
background-color: #A1C3E7
|
||||
&.not-current-month
|
||||
border: none
|
||||
background-color: #ededed
|
||||
li
|
||||
color: #555
|
||||
.event
|
||||
a:link, a:visited
|
||||
color: #888
|
||||
|
||||
.day_number
|
||||
float: left
|
||||
color: #727070
|
||||
margin: 0 1px 3px 1px
|
||||
font-size: 0.6em
|
||||
font-weight: bolder
|
||||
line-height: 1.2em
|
||||
letter-spacing: 2px
|
||||
ul
|
||||
clear: left
|
||||
margin-left: 0
|
||||
padding-left: 15px
|
||||
list-style-type: circle
|
||||
li
|
||||
padding: 0
|
||||
margin-bottom: 5px
|
||||
|
||||
.event
|
||||
font-size: smaller
|
||||
line-height: 1.1em
|
||||
strong:after
|
||||
content: ':'
|
||||
a:link, a:visited
|
||||
color: #666
|
||||
font-weight: normal
|
||||
&:hover
|
||||
color: black
|
||||
|
||||
.formats
|
||||
width: 99%
|
||||
font-size: smaller
|
||||
margin-top: 10px
|
||||
text-align: right
|
@ -0,0 +1,18 @@
|
||||
class EventsController < InheritedResources::Base
|
||||
has_scope :region
|
||||
|
||||
def index
|
||||
params[:year] ||= Date.today.year
|
||||
params[:month] ||= Date.today.month
|
||||
|
||||
@events = Event.month(params[:year], params[:month])
|
||||
if (params[:region])
|
||||
@events = @events.region(params[:region])
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
def permitted_params
|
||||
params.permit city: [:name, :majname, :postalcode, :inseecode, :regioncode, :latitude, :longitude]
|
||||
end
|
||||
end
|
@ -0,0 +1,2 @@
|
||||
module EventsHelper
|
||||
end
|
@ -0,0 +1,13 @@
|
||||
class Event < ActiveRecord::Base
|
||||
belongs_to :region, foreign_key: 'region'
|
||||
|
||||
scope :year, -> year {
|
||||
where "end_time >= ? and start_time < ?",
|
||||
"#{year}-1-1", "#{year.to_is+1}-1-1"
|
||||
}
|
||||
scope :month, -> year, month {
|
||||
where "end_time >= ? and start_time < ?",
|
||||
"#{year}-#{month.to_i-1}-1", "#{year}-#{month.to_i+2}-1"
|
||||
}
|
||||
scope :region, -> region { where region: region }
|
||||
end
|
@ -0,0 +1,64 @@
|
||||
= form_for @event do |f|
|
||||
- if @event.errors.any?
|
||||
#error_explanation
|
||||
%h2= "#{pluralize(@event.errors.count, "error")} prohibited this event from being saved:"
|
||||
%ul
|
||||
- @event.errors.full_messages.each do |msg|
|
||||
%li= msg
|
||||
|
||||
.field
|
||||
= f.label :title
|
||||
= f.text_field :title
|
||||
.field
|
||||
= f.label :description
|
||||
= f.text_area :description
|
||||
.field
|
||||
= f.label :start_time
|
||||
= f.datetime_select :start_time
|
||||
.field
|
||||
= f.label :end_time
|
||||
= f.datetime_select :end_time
|
||||
.field
|
||||
= f.label :city
|
||||
= f.text_field :city
|
||||
.field
|
||||
= f.label :region
|
||||
= f.text_field :region
|
||||
.field
|
||||
= f.label :locality
|
||||
= f.number_field :locality
|
||||
.field
|
||||
= f.label :url
|
||||
= f.text_field :url
|
||||
.field
|
||||
= f.label :contact
|
||||
= f.text_field :contact
|
||||
.field
|
||||
= f.label :contact
|
||||
= f.text_field :contact
|
||||
.field
|
||||
= f.label :submitter
|
||||
= f.text_field :submitter
|
||||
.field
|
||||
= f.label :moderated
|
||||
= f.number_field :moderated
|
||||
.field
|
||||
= f.label :tags
|
||||
= f.text_field :tags
|
||||
.field
|
||||
= f.label :secret
|
||||
= f.text_field :secret
|
||||
.field
|
||||
= f.label :decision_time
|
||||
= f.datetime_select :decision_time
|
||||
.field
|
||||
= f.label :submission_time
|
||||
= f.datetime_select :submission_time
|
||||
.field
|
||||
= f.label :moderator_mail_id
|
||||
= f.text_field :moderator_mail_id
|
||||
.field
|
||||
= f.label :submitter_mail_id
|
||||
= f.text_field :submitter_mail_id
|
||||
.actions
|
||||
= f.submit 'Save'
|
@ -0,0 +1,7 @@
|
||||
%h1 Editing event
|
||||
|
||||
= render 'form'
|
||||
|
||||
= link_to 'Show', @event
|
||||
\|
|
||||
= link_to 'Back', events_path
|
@ -0,0 +1,11 @@
|
||||
= calendar @events, { prev_text: '<<', next_text: '>>', start_day: :monday,
|
||||
params: { region: params[:region] } } do |event|
|
||||
%ul.events
|
||||
%li.event
|
||||
= link_to event.url do
|
||||
%strong= event.city
|
||||
= event.title
|
||||
|
||||
.formats
|
||||
=t '.calendar_in'
|
||||
rss, iCal ou calendrier Google
|
@ -0,0 +1,4 @@
|
||||
json.array!(@events) do |event|
|
||||
json.extract! event, :id, :title, :description, :start_time, :end_time, :city, :region_id, :locality, :url, :contact, :contact, :submitter, :moderated, :tags, :secret, :decision_time, :submission_time, :moderator_mail_id, :submitter_mail_id
|
||||
json.url event_url(event, format: :json)
|
||||
end
|
@ -0,0 +1,5 @@
|
||||
%h1 New event
|
||||
|
||||
= render 'form'
|
||||
|
||||
= link_to 'Back', events_path
|
@ -0,0 +1,60 @@
|
||||
%p#notice= notice
|
||||
|
||||
%p
|
||||
%b Title:
|
||||
= @event.title
|
||||
%p
|
||||
%b Description:
|
||||
= @event.description
|
||||
%p
|
||||
%b Start time:
|
||||
= @event.start_time
|
||||
%p
|
||||
%b End time:
|
||||
= @event.end_time
|
||||
%p
|
||||
%b City:
|
||||
= @event.city
|
||||
%p
|
||||
%b Region:
|
||||
= @event.region
|
||||
%p
|
||||
%b Locality:
|
||||
= @event.locality
|
||||
%p
|
||||
%b Url:
|
||||
= @event.url
|
||||
%p
|
||||
%b Contact:
|
||||
= @event.contact
|
||||
%p
|
||||
%b Contact:
|
||||
= @event.contact
|
||||
%p
|
||||
%b Submitter:
|
||||
= @event.submitter
|
||||
%p
|
||||
%b Moderated:
|
||||
= @event.moderated
|
||||
%p
|
||||
%b Tags:
|
||||
= @event.tags
|
||||
%p
|
||||
%b Secret:
|
||||
= @event.secret
|
||||
%p
|
||||
%b Decision time:
|
||||
= @event.decision_time
|
||||
%p
|
||||
%b Submission time:
|
||||
= @event.submission_time
|
||||
%p
|
||||
%b Moderator mail:
|
||||
= @event.moderator_mail_id
|
||||
%p
|
||||
%b Submitter mail:
|
||||
= @event.submitter_mail_id
|
||||
|
||||
= link_to 'Edit', edit_event_path(@event)
|
||||
\|
|
||||
= link_to 'Back', events_path
|
@ -0,0 +1 @@
|
||||
json.extract! @event, :id, :title, :description, :start_time, :end_time, :city, :region_id, :locality, :url, :contact, :contact, :submitter, :moderated, :tags, :secret, :decision_time, :submission_time, :moderator_mail_id, :submitter_mail_id, :created_at, :updated_at
|
Before Width: | Height: | Size: 0 B After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1,49 @@
|
||||
require 'test_helper'
|
||||
|
||||
class EventsControllerTest < ActionController::TestCase
|
||||
setup do
|
||||
@event = events(:one)
|
||||
end
|
||||
|
||||
test "should get index" do
|
||||
get :index
|
||||
assert_response :success
|
||||
assert_not_nil assigns(:events)
|
||||
end
|
||||
|
||||
test "should get new" do
|
||||
get :new
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "should create event" do
|
||||
assert_difference('Event.count') do
|
||||
post :create, event: { city: @event.city, contact: @event.contact, contact: @event.contact, decision_time: @event.decision_time, description: @event.description, end_time: @event.end_time, locality: @event.locality, moderated: @event.moderated, moderator_mail_id: @event.moderator_mail_id, region_id: @event.region_id, secret: @event.secret, start_time: @event.start_time, submission_time: @event.submission_time, submitter: @event.submitter, submitter_mail_id: @event.submitter_mail_id, tags: @event.tags, title: @event.title, url: @event.url }
|
||||
end
|
||||
|
||||
assert_redirected_to event_path(assigns(:event))
|
||||
end
|
||||
|
||||
test "should show event" do
|
||||
get :show, id: @event
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "should get edit" do
|
||||
get :edit, id: @event
|
||||
assert_response :success
|
||||
end
|
||||
|
||||
test "should update event" do
|
||||
patch :update, id: @event, event: { city: @event.city, contact: @event.contact, contact: @event.contact, decision_time: @event.decision_time, description: @event.description, end_time: @event.end_time, locality: @event.locality, moderated: @event.moderated, moderator_mail_id: @event.moderator_mail_id, region_id: @event.region_id, secret: @event.secret, start_time: @event.start_time, submission_time: @event.submission_time, submitter: @event.submitter, submitter_mail_id: @event.submitter_mail_id, tags: @event.tags, title: @event.title, url: @event.url }
|
||||
assert_redirected_to event_path(assigns(:event))
|
||||
end
|
||||
|
||||
test "should destroy event" do
|
||||
assert_difference('Event.count', -1) do
|
||||
delete :destroy, id: @event
|
||||
end
|
||||
|
||||
assert_redirected_to events_path
|
||||
end
|
||||
end
|
@ -0,0 +1,41 @@
|
||||
# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
|
||||
|
||||
one:
|
||||
title: MyString
|
||||
description: MyText
|
||||
start_time: 2013-12-28 16:04:56
|
||||
end_time: 2013-12-28 16:04:56
|
||||
city: MyString
|
||||
region_id:
|
||||
locality: 1
|
||||
url: MyString
|
||||
contact: MyString
|
||||
contact: MyString
|
||||
submitter: MyString
|
||||
moderated: 1
|
||||
tags: MyString
|
||||
secret: MyString
|
||||
decision_time: 2013-12-28 16:04:56
|
||||
submission_time: 2013-12-28 16:04:56
|
||||
moderator_mail_id: MyString
|
||||
submitter_mail_id: MyString
|
||||
|
||||
two:
|
||||
title: MyString
|
||||
description: MyText
|
||||
start_time: 2013-12-28 16:04:56
|
||||
end_time: 2013-12-28 16:04:56
|
||||
city: MyString
|
||||
region_id:
|
||||
locality: 1
|
||||
url: MyString
|
||||
contact: MyString
|
||||
contact: MyString
|
||||
submitter: MyString
|
||||
moderated: 1
|
||||
tags: MyString
|
||||
secret: MyString
|
||||
decision_time: 2013-12-28 16:04:56
|
||||
submission_time: 2013-12-28 16:04:56
|
||||
moderator_mail_id: MyString
|
||||
submitter_mail_id: MyString
|
@ -0,0 +1,4 @@
|
||||
require 'test_helper'
|
||||
|
||||
class EventsHelperTest < ActionView::TestCase
|
||||
end
|
@ -0,0 +1,7 @@
|
||||
require 'test_helper'
|
||||
|
||||
class EventTest < ActiveSupport::TestCase
|
||||
# test "the truth" do
|
||||
# assert true
|
||||
# end
|
||||
end
|
Loading…
Reference in new issue