From 5cc4511b57f73fabf11519280717ec93763f33ff Mon Sep 17 00:00:00 2001 From: Elena Moreno Date: Tue, 6 Dec 2011 21:39:13 +0100 Subject: [PATCH 1/3] accion author, 4 hiperenlaces y css --- app/assets/images/Carlos.PNG | Bin 0 -> 28969 bytes app/assets/images/elena.png | Bin 0 -> 28283 bytes app/assets/stylesheets/planet.css | 3 +++ app/assets/stylesheets/scaffolds.css.scss | 8 ++++---- app/controllers/planet_controller.rb | 9 +-------- app/views/layouts/application.html.erb | 21 ++++++++++++++++++++- app/views/planet/author.html.erb | 13 +++++++++++++ config/initializers/session_store.rb | 2 +- config/routes.rb | 2 ++ config/wrap_parameters.rb | 14 ++++++++++++++ test/functional/planet_controller_test.rb | 9 ++------- 11 files changed, 60 insertions(+), 21 deletions(-) create mode 100644 app/assets/images/Carlos.PNG create mode 100644 app/assets/images/elena.png create mode 100644 app/views/planet/author.html.erb create mode 100644 config/wrap_parameters.rb diff --git a/app/assets/images/Carlos.PNG b/app/assets/images/Carlos.PNG new file mode 100644 index 0000000000000000000000000000000000000000..0c0f615c9fcb45ecb27055ed7e78a3859b697435 GIT binary patch literal 28969 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 KMNUMnLSTYC&E2Q~ literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/planet.css b/app/assets/stylesheets/planet.css index 28c4fcc..31b9e5c 100644 --- a/app/assets/stylesheets/planet.css +++ b/app/assets/stylesheets/planet.css @@ -83,6 +83,9 @@ padding-left: 10px; } + + + #columns { background: #446; } diff --git a/app/assets/stylesheets/scaffolds.css.scss b/app/assets/stylesheets/scaffolds.css.scss index 05188f0..3cb8756 100644 --- a/app/assets/stylesheets/scaffolds.css.scss +++ b/app/assets/stylesheets/scaffolds.css.scss @@ -16,12 +16,12 @@ pre { font-size: 11px; } a { - color: #000; + color: #669999; &:visited { - color: #666; } + color: #66CCCC; } &:hover { - color: #fff; - background-color: #000; } } + color: #0033CC; + background-color: #D8D8D8; } } div { &.field, &.actions { diff --git a/app/controllers/planet_controller.rb b/app/controllers/planet_controller.rb index 97d6b5a..dca5fba 100644 --- a/app/controllers/planet_controller.rb +++ b/app/controllers/planet_controller.rb @@ -1,12 +1,5 @@ class PlanetController < ApplicationController - def index - end - - def contact - end - -# GET /planet/ejemplo - def ejemplo + def author end end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index c1b3a26..baa41fe 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -10,6 +10,13 @@
@@ -17,10 +24,22 @@ <%= link_to "Tipos", types_path %>
<%= link_to "Sitios", sites_path %>
<%= link_to "Contact", planet_contact_path %> + <%= link_to "Author", planet_author_path %> + <%= link_to "Ejemplo", planet_ejemplo_path %> +
<%= yield %> +
-
+ + + \ No newline at end of file diff --git a/app/views/planet/author.html.erb b/app/views/planet/author.html.erb new file mode 100644 index 0000000..81fc5eb --- /dev/null +++ b/app/views/planet/author.html.erb @@ -0,0 +1,13 @@ +

Elena Moreno Alonso

+<%= image_tag('elena.png') %> +

Madrid

+

elenaypunto@gmail.com

+

Estudiante de ingeniería de Telecomunicaciones

+ + +

Carlos González merino

+<%= image_tag('Carlos.PNG') %> + +

Madrid

+

carlosgonza88@gmail.com

+

Estudiante de ingeniería de Telecomunicaciones

diff --git a/config/initializers/session_store.rb b/config/initializers/session_store.rb index 697d0c8..b43a624 100644 --- a/config/initializers/session_store.rb +++ b/config/initializers/session_store.rb @@ -1,6 +1,6 @@ # Be sure to restart your server when you modify this file. -Planet::Application.config.session_store :cookie_store, key: '_planet_session' +Planet::Application.config.session_store :cookie_store, :key=> '_planet_session' # Use the database for sessions instead of the cookie-based default, # which shouldn't be used to store highly confidential information diff --git a/config/routes.rb b/config/routes.rb index 4572a56..1ba8ecd 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,7 @@ Planet::Application.routes.draw do + get "planet/author" + resources :sites resources :types diff --git a/config/wrap_parameters.rb b/config/wrap_parameters.rb new file mode 100644 index 0000000..999df20 --- /dev/null +++ b/config/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. +# +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# Disable root element in JSON by default. +ActiveSupport.on_load(:active_record) do + self.include_root_in_json = false +end diff --git a/test/functional/planet_controller_test.rb b/test/functional/planet_controller_test.rb index 88229e0..c614714 100644 --- a/test/functional/planet_controller_test.rb +++ b/test/functional/planet_controller_test.rb @@ -1,13 +1,8 @@ require 'test_helper' class PlanetControllerTest < ActionController::TestCase - test "should get index" do - get :index - assert_response :success - end - - test "should get contact" do - get :contact + test "should get author" do + get :author assert_response :success end From 86abbafafcc5b46b2450ddc57ca6f19e13913588 Mon Sep 17 00:00:00 2001 From: Elena Moreno Date: Tue, 6 Dec 2011 21:58:10 +0100 Subject: [PATCH 2/3] arreglado wrap_parameters --- config/initializers/wrap_parameters.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/initializers/wrap_parameters.rb b/config/initializers/wrap_parameters.rb index 999df20..8b5b128 100644 --- a/config/initializers/wrap_parameters.rb +++ b/config/initializers/wrap_parameters.rb @@ -5,7 +5,7 @@ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. ActiveSupport.on_load(:action_controller) do - wrap_parameters format: [:json] + wrap_parameters format=[:json] end # Disable root element in JSON by default. From fdcf0c1c5d979edc043cbaccd6c06e3ae86c2c4d Mon Sep 17 00:00:00 2001 From: Elena Moreno Date: Mon, 19 Dec 2011 22:10:00 +0100 Subject: [PATCH 3/3] scaffold viaje, add site y css --- Gemfile.lock | 2 + app/assets/images/Thumbs.db | Bin 0 -> 31232 bytes app/assets/javascripts/trips.js.coffee | 3 + app/assets/stylesheets/planet.css | 51 ++++++++- app/assets/stylesheets/scaffolds.css.scss | 8 +- app/assets/stylesheets/trips.css.scss | 3 + app/controllers/sites_controller.rb | 22 ++-- app/controllers/trips_controller.rb | 120 ++++++++++++++++++++++ app/helpers/trips_helper.rb | 2 + app/models/site.rb | 2 + app/models/trip.rb | 3 + app/views/layouts/application.html.erb | 41 ++++---- app/views/sites/index.html.erb | 9 +- app/views/sites/show.html.erb | 2 +- app/views/trips/_form.html.erb | 34 ++++++ app/views/trips/edit.html.erb | 6 ++ app/views/trips/index.html.erb | 31 ++++++ app/views/trips/show.html.erb | 15 +++ config/routes.rb | 2 + config/wrap_parameters.rb | 2 +- db/migrate/20111216152020_create_trips.rb | 12 +++ db/schema.rb | 10 +- test/fixtures/trips.yml | 9 ++ test/functional/trips_controller_test.rb | 49 +++++++++ test/unit/helpers/trips_helper_test.rb | 4 + test/unit/trip_test.rb | 7 ++ 26 files changed, 406 insertions(+), 43 deletions(-) create mode 100644 app/assets/images/Thumbs.db create mode 100644 app/assets/javascripts/trips.js.coffee create mode 100644 app/assets/stylesheets/trips.css.scss create mode 100644 app/controllers/trips_controller.rb create mode 100644 app/helpers/trips_helper.rb create mode 100644 app/models/trip.rb create mode 100644 app/views/trips/_form.html.erb create mode 100644 app/views/trips/edit.html.erb create mode 100644 app/views/trips/index.html.erb create mode 100644 app/views/trips/show.html.erb create mode 100644 db/migrate/20111216152020_create_trips.rb create mode 100644 test/fixtures/trips.yml create mode 100644 test/functional/trips_controller_test.rb create mode 100644 test/unit/helpers/trips_helper_test.rb create mode 100644 test/unit/trip_test.rb diff --git a/Gemfile.lock b/Gemfile.lock index 264e4f9..52c7e9c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -93,6 +93,7 @@ GEM rack (~> 1.0) tilt (~> 1.1, != 1.3.0) sqlite3 (1.3.4) + sqlite3 (1.3.4-x86-mingw32) thor (0.14.6) tilt (1.3.3) treetop (1.4.10) @@ -107,6 +108,7 @@ GEM PLATFORMS ruby + x86-mingw32 DEPENDENCIES coffee-rails (~> 3.1.1) diff --git a/app/assets/images/Thumbs.db b/app/assets/images/Thumbs.db new file mode 100644 index 0000000000000000000000000000000000000000..c6cc877987750fd3fbfde4a8018103e2aa0f4240 GIT binary patch literal 31232 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 @sites } end end @@ -22,7 +22,7 @@ def show respond_to do |format| format.html # show.html.erb - format.json { render json: @site } + format.json { render :json=> @site } end end @@ -33,7 +33,7 @@ def new respond_to do |format| format.html # new.html.erb - format.json { render json: @site } + format.json { render :json=> @site } end end @@ -49,11 +49,11 @@ def create respond_to do |format| if @site.save - format.html { redirect_to @site, notice: 'Site was successfully created.' } - format.json { render json: @site, status: :created, location: @site } + format.html { redirect_to @site, :notice=> 'Site was successfully created.' } + format.json { render :json=> @site, :status=> :created, :location=> @site } else - format.html { render action: "new" } - format.json { render json: @site.errors, status: :unprocessable_entity } + format.html { render :action=> "new" } + format.json { render :json=> @site.errors, :status=> :unprocessable_entity } end end end @@ -65,11 +65,11 @@ def update respond_to do |format| if @site.update_attributes(params[:site]) - format.html { redirect_to @site, notice: 'Site was successfully updated.' } + format.html { redirect_to @site, :notice=> 'Site was successfully updated.' } format.json { head :ok } else - format.html { render action: "edit" } - format.json { render json: @site.errors, status: :unprocessable_entity } + format.html { render :action=> "edit" } + format.json { render :json=> @site.errors, :status=> :unprocessable_entity } end end end diff --git a/app/controllers/trips_controller.rb b/app/controllers/trips_controller.rb new file mode 100644 index 0000000..1e8ca19 --- /dev/null +++ b/app/controllers/trips_controller.rb @@ -0,0 +1,120 @@ +class TripsController < ApplicationController + # GET /trips + # GET /trips.json + def index + @trips = Trip.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @trips } + end + end + + # GET /trips/1 + # GET /trips/1.json + def show + @trip = Trip.find(params[:id]) + + respond_to do |format| + format.html # show.html.erb + format.json { render json: @trip } + end + end + + # GET /trips/new + # GET /trips/new.json + def new + @trip = Trip.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @trip } + end + end + + # GET /trips/1/edit + def edit + @trip = Trip.find(params[:id]) + end + + # POST /trips + # POST /trips.json + def create + @trip = Trip.new(params[:trip]) + + if !Trip.find(:last, :order => 'trip_id').nil? + @trip.trip_id = Trip.find(:last, :order => 'trip_id').trip_id + 1 + end + + respond_to do |format| + if @trip.save + format.html { redirect_to @trip, notice: 'Trip was successfully created.' } + format.json { render json: @trip, status: :created, location: @trip } + else + format.html { render action: "new" } + format.json { render json: @trip.errors, status: :unprocessable_entity } + end + end + + end + + # PUT /trips/1 + # PUT /trips/1.json + def update + @trip = Trip.find(params[:id]) + # tid1 identificador de posicion viejo + tid1 = @trip.trip_id + + respond_to do |format| + if @trip.update_attributes(params[:trip]) + + @trips = Trip.find(:all, :order => 'trip_id') + + @trips.each do |trip| + # Si la posicion nueva esta por encima de la vieja, baja los que estuvieran entre ellas + if @trip.trip_id < tid1 + if (trip.trip_id < tid1) && (trip.trip_id >= @trip.trip_id) && (trip.site_id != @trip.site_id) + trip.trip_id = trip.trip_id + 1 + trip.save + end + end + # Si la posicion nueva esta por debajo de la vieja, sube los que estuvieran entre ellas + if @trip.trip_id > tid1 + if (trip.trip_id > tid1) && (trip.trip_id <= @trip.trip_id) && (trip.site_id != @trip.site_id) + trip.trip_id = trip.trip_id - 1 + trip.save + end + end + end + + format.html { redirect_to @trip, notice: 'Trip was successfully created.' } + format.json { head :ok } + else + format.html { render action: "edit" } + format.json { render json: @trip.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /trips/1 + # DELETE /trips/1.json + def destroy + @trip = Trip.find(params[:id]) + # tid es la posicion borrada + tid = @trip.trip_id + @trip.destroy + @trips = Trip.find(:all, :order => 'trip_id') + + @trips.each do |trip| + if trip.trip_id > tid + trip.trip_id = trip.trip_id - 1 + trip.save + end + end + + respond_to do |format| + format.html { redirect_to trips_url } + format.json { head :ok } + end + end +end diff --git a/app/helpers/trips_helper.rb b/app/helpers/trips_helper.rb new file mode 100644 index 0000000..04f333d --- /dev/null +++ b/app/helpers/trips_helper.rb @@ -0,0 +1,2 @@ +module TripsHelper +end diff --git a/app/models/site.rb b/app/models/site.rb index dde788c..f934634 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -1,3 +1,5 @@ class Site < ActiveRecord::Base belongs_to :type + belongs_to :trip + validates_presence_of :name, :message => "must be provided" end diff --git a/app/models/trip.rb b/app/models/trip.rb new file mode 100644 index 0000000..5d07e8a --- /dev/null +++ b/app/models/trip.rb @@ -0,0 +1,3 @@ +class Trip < ActiveRecord::Base + has_many :sites +end diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index baa41fe..2274d4b 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -1,45 +1,46 @@ + Planet <%= stylesheet_link_tag "application" %> <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> + + +
<%= link_to "Home", planet_index_path %>
<%= link_to "Tipos", types_path %>
- <%= link_to "Sitios", sites_path %>
- <%= link_to "Contact", planet_contact_path %> - <%= link_to "Author", planet_author_path %> + <%= link_to "Sitios", sites_path %>
+ <%= link_to "Viajes", trips_path %>
+ <%= link_to "Contacto", planet_contact_path %>
+ <%= link_to "Autor", planet_author_path %>
<%= link_to "Ejemplo", planet_ejemplo_path %>
-
- <%= yield %> - +
+ <%= yield %> +
+
+ + - -
- \ No newline at end of file diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index f1034b8..89f091a 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -6,7 +6,9 @@ - <%= link_to image_tag(site.image_url, :class => 'list_image'), site %> + <% if site.image_url != "" %> + <%= link_to image_tag(site.image_url, :class => 'list_image'), site %> + <% end %> @@ -23,6 +25,11 @@ <%= link_to 'Destroy', site, :confirm => 'Are you sure?', :method => :delete %> + <%= form_for(@trip, remote: true) do |f| %> + <% f.number_field :trip_id, :value => 1, :hidden => true %> + <% f.number_field :site_id, :value => site.id, :hidden => true %> + <%= f.submit "Add site" %> + <% end %> <% end %> diff --git a/app/views/sites/show.html.erb b/app/views/sites/show.html.erb index 244b974..8813405 100644 --- a/app/views/sites/show.html.erb +++ b/app/views/sites/show.html.erb @@ -1,6 +1,6 @@
-

<%= @site.type.name if @site.type %>

+

Site: <%= @site.type.name if @site.type %>

<%= image_tag(@site.image_url, :class => 'site_image') %> diff --git a/app/views/trips/_form.html.erb b/app/views/trips/_form.html.erb new file mode 100644 index 0000000..d41335b --- /dev/null +++ b/app/views/trips/_form.html.erb @@ -0,0 +1,34 @@ +<%= form_for(@trip) do |f| %> + <% if @trip.errors.any? %> +
+

<%= pluralize(@trip.errors.count, "error") %> prohibited this trip from being saved:

+ +
    + <% @trip.errors.full_messages.each do |msg| %> +
  • <%= msg %>
  • + <% end %> +
+
+ <% end %> + +
+ Trip name:
+ <%= t = Site.find_by_id(@trip.site_id).name %> + +
+
+ <% f.label :site_id %>
+ <% f.number_field :site_id %> +
+ +
+ New position: + <% f.label :trip_id %>
+ <%= f.collection_select(:trip_id, Trip.find(:all, :order => :trip_id), :trip_id, :trip_id) %>
+

+ +
+ <%= f.submit %> +
+ +<% end %> diff --git a/app/views/trips/edit.html.erb b/app/views/trips/edit.html.erb new file mode 100644 index 0000000..71287a4 --- /dev/null +++ b/app/views/trips/edit.html.erb @@ -0,0 +1,6 @@ +

Editing trip

+ +<%= render 'form' %> + +<%= link_to 'Show', @trip %> | +<%= link_to 'Back', trips_path %> diff --git a/app/views/trips/index.html.erb b/app/views/trips/index.html.erb new file mode 100644 index 0000000..92e6884 --- /dev/null +++ b/app/views/trips/index.html.erb @@ -0,0 +1,31 @@ +
+

Listing selected sites

+ + + + + + + + + + + +<% @trips = Trip.find(:all, :order => :trip_id) %> + +<% @trips.each do |trip| %> + + + + +<% end %> +
OrderSelected site
+ <%= trip.trip_id %> + + <%= t = Site.find_by_id(trip.site_id).name %> + + <%= link_to 'Show', site_path(trip.site_id) %>
+ <%= link_to 'Edit', edit_trip_path(trip) %>
+ <%= link_to 'Destroy', trip, confirm: 'Are you sure?', method: :delete %>
+
+
\ No newline at end of file diff --git a/app/views/trips/show.html.erb b/app/views/trips/show.html.erb new file mode 100644 index 0000000..a3954d0 --- /dev/null +++ b/app/views/trips/show.html.erb @@ -0,0 +1,15 @@ +

<%= notice %>

+ +

+ Trip name: + <%= @trip.site_id %> +

+ +

+ Trip: + <%= @trip.id %> +

+ + +<%= link_to 'Edit', edit_trip_path(@trip) %> | +<%= link_to 'Back', trips_path %> diff --git a/config/routes.rb b/config/routes.rb index 1ba8ecd..e621836 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,7 @@ Planet::Application.routes.draw do + resources :trips + get "planet/author" resources :sites diff --git a/config/wrap_parameters.rb b/config/wrap_parameters.rb index 999df20..b871673 100644 --- a/config/wrap_parameters.rb +++ b/config/wrap_parameters.rb @@ -5,7 +5,7 @@ # Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. ActiveSupport.on_load(:action_controller) do - wrap_parameters format: [:json] + wrap_parameters format= [:json] end # Disable root element in JSON by default. diff --git a/db/migrate/20111216152020_create_trips.rb b/db/migrate/20111216152020_create_trips.rb new file mode 100644 index 0000000..2a77ffd --- /dev/null +++ b/db/migrate/20111216152020_create_trips.rb @@ -0,0 +1,12 @@ +class CreateTrips < ActiveRecord::Migration + def change + create_table :trips do |t| + + t.integer :trip_id + t.integer :site_id + + t.timestamps + end + + end +end diff --git a/db/schema.rb b/db/schema.rb index 3717026..f283a91 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -1,4 +1,3 @@ -# encoding: UTF-8 # This file is auto-generated from the current state of the database. Instead # of editing this file, please use the migrations feature of Active Record to # incrementally modify your database, and then regenerate this schema definition. @@ -11,7 +10,7 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20111127165324) do +ActiveRecord::Schema.define(:version => 20111216152020) do create_table "sites", :force => true do |t| t.string "name" @@ -25,6 +24,13 @@ t.datetime "updated_at" end + create_table "trips", :force => true do |t| + t.integer "trip_id" + t.integer "site_id" + t.datetime "created_at" + t.datetime "updated_at" + end + create_table "types", :force => true do |t| t.string "name" t.text "description" diff --git a/test/fixtures/trips.yml b/test/fixtures/trips.yml new file mode 100644 index 0000000..8feb428 --- /dev/null +++ b/test/fixtures/trips.yml @@ -0,0 +1,9 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + trip_name: MyString + trip_id: 1 + +two: + trip_name: MyString + trip_id: 1 diff --git a/test/functional/trips_controller_test.rb b/test/functional/trips_controller_test.rb new file mode 100644 index 0000000..d7b24ba --- /dev/null +++ b/test/functional/trips_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class TripsControllerTest < ActionController::TestCase + setup do + @trip = trips(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:trips) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create trip" do + assert_difference('Trip.count') do + post :create, trip: @trip.attributes + end + + assert_redirected_to trip_path(assigns(:trip)) + end + + test "should show trip" do + get :show, id: @trip.to_param + assert_response :success + end + + test "should get edit" do + get :edit, id: @trip.to_param + assert_response :success + end + + test "should update trip" do + put :update, id: @trip.to_param, trip: @trip.attributes + assert_redirected_to trip_path(assigns(:trip)) + end + + test "should destroy trip" do + assert_difference('Trip.count', -1) do + delete :destroy, id: @trip.to_param + end + + assert_redirected_to trips_path + end +end diff --git a/test/unit/helpers/trips_helper_test.rb b/test/unit/helpers/trips_helper_test.rb new file mode 100644 index 0000000..dcfddff --- /dev/null +++ b/test/unit/helpers/trips_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class TripsHelperTest < ActionView::TestCase +end diff --git a/test/unit/trip_test.rb b/test/unit/trip_test.rb new file mode 100644 index 0000000..1ed8ca6 --- /dev/null +++ b/test/unit/trip_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class TripTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end