From bd4fa6fbbf8d533edccddc5261eecf3f0ca9ce9d Mon Sep 17 00:00:00 2001 From: Michel Etienne Date: Fri, 6 Apr 2012 10:10:44 +0200 Subject: add timetables , update textiles --- app/assets/stylesheets/time_tables.css.scss | 113 ++++++++++++++++++++++++++++ app/controllers/time_tables_controller.rb | 23 ++++++ app/views/time_tables/_date.erb | 3 + app/views/time_tables/_form.erb | 42 +++++++++++ app/views/time_tables/_form_date.erb | 5 ++ app/views/time_tables/_form_period.erb | 6 ++ app/views/time_tables/_period.erb | 3 + app/views/time_tables/_time_table.erb | 9 +++ app/views/time_tables/edit.html.erb | 3 + app/views/time_tables/index.html.erb | 23 ++++++ app/views/time_tables/new.html.erb | 3 + app/views/time_tables/show.html.erb | 68 +++++++++++++++++ 12 files changed, 301 insertions(+) create mode 100644 app/assets/stylesheets/time_tables.css.scss create mode 100644 app/controllers/time_tables_controller.rb create mode 100644 app/views/time_tables/_date.erb create mode 100644 app/views/time_tables/_form.erb create mode 100644 app/views/time_tables/_form_date.erb create mode 100644 app/views/time_tables/_form_period.erb create mode 100644 app/views/time_tables/_period.erb create mode 100644 app/views/time_tables/_time_table.erb create mode 100644 app/views/time_tables/edit.html.erb create mode 100644 app/views/time_tables/index.html.erb create mode 100644 app/views/time_tables/new.html.erb create mode 100644 app/views/time_tables/show.html.erb (limited to 'app') diff --git a/app/assets/stylesheets/time_tables.css.scss b/app/assets/stylesheets/time_tables.css.scss new file mode 100644 index 000000000..e6fb6cec3 --- /dev/null +++ b/app/assets/stylesheets/time_tables.css.scss @@ -0,0 +1,113 @@ +// Place all the styles related to the lines controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ +@mixin div_for_object { + margin-bottom: 20px; + + .color { + width: 64px; + height: 64px; + float: left; + margin-right: 10px; + } + + img { + float: left; + margin-right: 10px; + } + + img.preview { + width: 90px; + height: 70px; + } + + a { + display:block; + text-decoration: underline; + margin: 5px 0px 0px 0px; + } + + .info { + font-size: 10px; + color: #777; + font-weight: normal; + line-height: 14px; + margin-top: 5px; + + a { + display:inline; + color: #777; + } + + .actions { + margin-top: 14px; + a { + color: #666; + padding-left: 12px; + } + + a.edit { + background: url(image-path('user_interface/ui/edit-small.png')) no-repeat 0% 50%; + } + a.remove { + background: url(image-path('user_interface/ui/remove-small.png')) no-repeat 0% 50%; + } + } + + p { + margin:0; + } + } +} + +@mixin content_to_clear { + content: " "; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +@mixin after_div_for_object { + @include content_to_clear; +} + +#workspace.time_tables.index +{ + .time_table:after { + @include after_div_for_object; + } + + .time_tables { + margin-top: 20px; + } + + .time_tables:after { + @include content_to_clear; + } + + .time_table { + @include div_for_object; + + /* to create multi-column index */ + width: 350px; + float: left; + padding-right: 10px; + + } +} + + +#workspace .order { + float: right; + padding: 15px 0; + font-size: 0.8em; + + a { text-decoration: underline; } + + a.current { + font-weight: bold; + text-decoration: none; + } +} + diff --git a/app/controllers/time_tables_controller.rb b/app/controllers/time_tables_controller.rb new file mode 100644 index 000000000..dbecde0eb --- /dev/null +++ b/app/controllers/time_tables_controller.rb @@ -0,0 +1,23 @@ +class TimeTablesController < ChouetteController + defaults :resource_class => Chouette::TimeTable + respond_to :html + respond_to :xml + respond_to :json + + belongs_to :referential + + protected + + def collection + @q = referential.time_tables.search(params[:q]) + @time_tables ||= @q.result(:distinct => true).order(:comment).paginate(:page => params[:page], :per_page => 10) + end + + def resource_url(time_table = nil) + referential_time_table_path(referential, time_table || resource) + end + + def collection_url + referential_time_tables_path(referential) + end +end diff --git a/app/views/time_tables/_date.erb b/app/views/time_tables/_date.erb new file mode 100644 index 000000000..4430efd33 --- /dev/null +++ b/app/views/time_tables/_date.erb @@ -0,0 +1,3 @@ +<%= div_for(date) do %> + <%= date.date %> +<% end %> diff --git a/app/views/time_tables/_form.erb b/app/views/time_tables/_form.erb new file mode 100644 index 000000000..1d78ad84e --- /dev/null +++ b/app/views/time_tables/_form.erb @@ -0,0 +1,42 @@ +<%= semantic_form_for [@referential, @time_table] do |form| %> + <%= form.inputs do %> + <%= form.input :comment %> + <%= form.input :version %> + <%= form.input :monday, :as => :boolean %> + <%= form.input :tuesday, :as => :boolean %> + <%= form.input :wednesday, :as => :boolean %> + <%= form.input :thursday, :as => :boolean %> + <%= form.input :friday, :as => :boolean %> + <%= form.input :saturday, :as => :boolean %> + <%= form.input :sunday, :as => :boolean %> + + <% if @time_table.new_record? %> + <%= form.input :objectid %> + <% else %> +
+ + <%= @time_table.comment %> +
++ + <%= @time_table.version %> +
++ + <%= @time_table.objectid %> +
++ + <%= @time_table.monday %> +
++ + <%= @time_table.tuesday %> +
++ + <%= @time_table.wednesday %> +
++ + <%= @time_table.thursday %> +
++ + <%= @time_table.friday %> +
++ + <%= @time_table.saturday %> +
++ + <%= @time_table.sunday %> +
++ +
+ <%= render :partial => "period", :collection => @time_table.periods %> ++ +
+ <%= render :partial => "date", :collection => @time_table.dates %> +