From 1eac6bd2d63313c724015817ec02cc8cc653c5e0 Mon Sep 17 00:00:00 2001 From: Arzur Date: Sun, 15 Apr 2012 22:17:28 +0200 Subject: [PATCH 1/6] =?UTF-8?q?a=C3=B1adidos=20comentarios?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Gemfile | 10 +-- Gemfile.lock | 9 -- app/assets/images/auto1.jpeg | Bin 0 -> 5735 bytes app/assets/images/auto2.jpg | Bin 0 -> 10198 bytes app/assets/images/coliseo.png | Bin 0 -> 17003 bytes app/assets/javascripts/comentarios.js.coffee | 3 + app/assets/stylesheets/application.css | 9 ++ app/assets/stylesheets/author.css.scss | 4 + app/assets/stylesheets/comentarios.css.scss | 3 + app/assets/stylesheets/planet.css | 6 -- app/assets/stylesheets/sites.css.scss | 3 + app/controllers/comentarios_controller.rb | 82 ++++++++++++++++++ app/controllers/planet_controller.rb | 4 + app/controllers/sites_controller.rb | 20 +++-- app/controllers/types_controller.rb | 11 +++ app/controllers/visits_controller.rb | 1 - app/helpers/comentarios_helper.rb | 2 + app/models/comentario.rb | 8 ++ app/models/site.rb | 6 +- app/models/user.rb | 8 ++ app/views/comentarios/_form.html.erb | 29 +++++++ app/views/comentarios/edit.html.erb | 6 ++ app/views/comentarios/index.html.erb | 29 +++++++ app/views/comentarios/new.html.erb | 5 ++ app/views/comentarios/show.html.erb | 20 +++++ app/views/layouts/application.html.erb | 25 ++++-- app/views/planet/author.css | 4 + app/views/planet/author.html.erb | 43 +++++++++ app/views/sites/_form.html.erb | 4 +- app/views/sites/_form2.html.erb | 10 +++ app/views/sites/a | 29 +++++++ app/views/sites/index.html.erb | 20 +++-- app/views/sites/show.html.erb | 33 +++++-- app/views/trips/_trip.html.erb | 4 +- app/views/trips/show.html.erb | 2 +- app/views/types/index.html.erb | 7 +- app/views/types/ordered_index.html.erb | 26 ++++++ app/views/types/show.html.erb | 2 +- config/application.rb | 4 - config/routes.rb | 19 ++++ .../20120411202857_create_comentarios.rb | 11 +++ db/schema.rb | 19 ++-- db:migrate | 0 rails | 0 test/fixtures/comentarios.yml | 11 +++ .../functional/comentarios_controller_test.rb | 49 +++++++++++ test/functional/planet_controller_test.rb | 10 +++ test/unit/comentario_test.rb | 7 ++ test/unit/helpers/comentarios_helper_test.rb | 4 + 49 files changed, 549 insertions(+), 72 deletions(-) create mode 100644 app/assets/images/auto1.jpeg create mode 100644 app/assets/images/auto2.jpg create mode 100644 app/assets/images/coliseo.png create mode 100644 app/assets/javascripts/comentarios.js.coffee create mode 100644 app/assets/stylesheets/author.css.scss create mode 100644 app/assets/stylesheets/comentarios.css.scss create mode 100644 app/controllers/comentarios_controller.rb create mode 100644 app/helpers/comentarios_helper.rb create mode 100644 app/models/comentario.rb create mode 100644 app/views/comentarios/_form.html.erb create mode 100644 app/views/comentarios/edit.html.erb create mode 100644 app/views/comentarios/index.html.erb create mode 100644 app/views/comentarios/new.html.erb create mode 100644 app/views/comentarios/show.html.erb create mode 100644 app/views/planet/author.css create mode 100644 app/views/planet/author.html.erb create mode 100644 app/views/sites/_form2.html.erb create mode 100644 app/views/sites/a create mode 100644 app/views/types/ordered_index.html.erb create mode 100644 db/migrate/20120411202857_create_comentarios.rb create mode 100644 db:migrate create mode 100644 rails create mode 100644 test/fixtures/comentarios.yml create mode 100644 test/functional/comentarios_controller_test.rb create mode 100644 test/unit/comentario_test.rb create mode 100644 test/unit/helpers/comentarios_helper_test.rb diff --git a/Gemfile b/Gemfile index b0be4dd..ca448a6 100644 --- a/Gemfile +++ b/Gemfile @@ -5,14 +5,7 @@ gem 'rails', '3.2.2' # Bundle edge Rails instead: # gem 'rails', :git => 'git://github.com/rails/rails.git' -group :development do - gem 'sqlite3' -end - -group :production do - gem 'pg' -end - +gem 'sqlite3' gem 'devise' @@ -30,7 +23,6 @@ end gem 'jquery-rails' gem 'cleditor_rails' -gem 'paperclip' # To use ActiveModel has_secure_password # gem 'bcrypt-ruby', '~> 3.0.0' diff --git a/Gemfile.lock b/Gemfile.lock index 3b96e7c..36f623e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -32,7 +32,6 @@ GEM bcrypt-ruby (3.0.1) builder (3.0.0) cleditor_rails (0.0.3) - cocaine (0.2.1) coffee-rails (3.2.2) coffee-script (>= 2.2.0) railties (~> 3.2.0) @@ -62,12 +61,6 @@ GEM mime-types (1.17.2) multi_json (1.1.0) orm_adapter (0.0.7) - paperclip (2.4.5) - activerecord (>= 2.3.0) - activesupport (>= 2.3.2) - cocaine (>= 0.0.2) - mime-types - pg (0.13.2) polyglot (0.3.3) rack (1.4.1) rack-cache (1.2) @@ -124,8 +117,6 @@ DEPENDENCIES coffee-rails (~> 3.2.1) devise jquery-rails - paperclip - pg rails (= 3.2.2) sass-rails (~> 3.2.3) sqlite3 diff --git a/app/assets/images/auto1.jpeg b/app/assets/images/auto1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..9d0c91eabffb2cc12d832fa1aac939f7e18fd477 GIT binary patch literal 5735 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/auto2.jpg b/app/assets/images/auto2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..da21cb9c1a69a92dbbee67ba6f74e3bcef4a7aa8 GIT binary patch literal 10198 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 V*U%rkP28)oP<|J+w*9#9zW^hB@oxYC literal 0 HcmV?d00001 diff --git a/app/assets/images/coliseo.png b/app/assets/images/coliseo.png new file mode 100644 index 0000000000000000000000000000000000000000..c63097e334783e024ccab84494a9d9f66e20263d GIT binary patch literal 17003 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 literal 0 HcmV?d00001 diff --git a/app/assets/javascripts/comentarios.js.coffee b/app/assets/javascripts/comentarios.js.coffee new file mode 100644 index 0000000..7615679 --- /dev/null +++ b/app/assets/javascripts/comentarios.js.coffee @@ -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://jashkenas.github.com/coffee-script/ diff --git a/app/assets/stylesheets/application.css b/app/assets/stylesheets/application.css index 50d53e3..8689609 100644 --- a/app/assets/stylesheets/application.css +++ b/app/assets/stylesheets/application.css @@ -12,3 +12,12 @@ *= require cleditor *= require_tree . */ + + +#container{} +#enla1{} +#enla1 a{color:blue;} +#cuerpo{} + + + diff --git a/app/assets/stylesheets/author.css.scss b/app/assets/stylesheets/author.css.scss new file mode 100644 index 0000000..d2d9d7e --- /dev/null +++ b/app/assets/stylesheets/author.css.scss @@ -0,0 +1,4 @@ +#espa{background-color:green;color:green;} +.autor1{} +#espacio{background-color:blue;color:blue;} +.autor2{} diff --git a/app/assets/stylesheets/comentarios.css.scss b/app/assets/stylesheets/comentarios.css.scss new file mode 100644 index 0000000..494c101 --- /dev/null +++ b/app/assets/stylesheets/comentarios.css.scss @@ -0,0 +1,3 @@ +// Place all the styles related to the comentarios controller here. +// They will automatically be included in application.css. +// You can use Sass (SCSS) here: http://sass-lang.com/ diff --git a/app/assets/stylesheets/planet.css b/app/assets/stylesheets/planet.css index ead053a..c6334b0 100644 --- a/app/assets/stylesheets/planet.css +++ b/app/assets/stylesheets/planet.css @@ -161,9 +161,3 @@ font-weight: bold; margin-right: 2em; } - - -#main .visitas { - text-indent: 70%; -} - diff --git a/app/assets/stylesheets/sites.css.scss b/app/assets/stylesheets/sites.css.scss index 682e55c..1aacaa7 100644 --- a/app/assets/stylesheets/sites.css.scss +++ b/app/assets/stylesheets/sites.css.scss @@ -1,3 +1,6 @@ // Place all the styles related to the sites controller here. // They will automatically be included in application.css. // You can use Sass (SCSS) here: http://sass-lang.com/ + +#comentarios a{font-weight:bold;color:red;} + diff --git a/app/controllers/comentarios_controller.rb b/app/controllers/comentarios_controller.rb new file mode 100644 index 0000000..76dd3f1 --- /dev/null +++ b/app/controllers/comentarios_controller.rb @@ -0,0 +1,82 @@ +class ComentariosController < ApplicationController + # GET /comentarios + # GET /comentarios.json + def index + @comentarios = Comentario.all + + respond_to do |format| + format.html # index.html.erb + format.json { render json: @comentarios } + end + end + + # GET /comentarios/1 + # GET /comentarios/1.json + def show + @comentario = Comentario.find(params[:id]) + respond_to do |format| + format.html # show.html.erb + format.json { render json: @comentario } + end + end + + # GET /comentarios/new + # GET /comentarios/new.json + def new + @comentario = Comentario.new + + respond_to do |format| + format.html # new.html.erb + format.json { render json: @comentario } + end + end + + # GET /comentarios/1/edit + def edit + @comentario = Comentario.find(params[:id]) + end + + # POST /comentarios + # POST /comentarios.json + def create + @comentario = Comentario.new(params[:comentario]) + + respond_to do |format| + if @comentario.save + format.html { redirect_to @comentario, notice: 'Comentario was successfully created.' } + format.json { render json: @comentario, status: :created, location: @comentario } + else + format.html { render action: "new" } + format.json { render json: @comentario.errors, status: :unprocessable_entity } + end + end + end + + # PUT /comentarios/1 + # PUT /comentarios/1.json + def update + @comentario = Comentario.find(params[:id]) + + respond_to do |format| + if @comentario.update_attributes(params[:comentario]) + format.html { redirect_to @comentario, notice: 'Comentario was successfully updated.' } + format.json { head :no_content } + else + format.html { render action: "edit" } + format.json { render json: @comentario.errors, status: :unprocessable_entity } + end + end + end + + # DELETE /comentarios/1 + # DELETE /comentarios/1.json + def destroy + @comentario = Comentario.find(params[:id]) + @comentario.destroy + + respond_to do |format| + format.html { redirect_to comentarios_url } + format.json { head :no_content } + end + end +end diff --git a/app/controllers/planet_controller.rb b/app/controllers/planet_controller.rb index be7ac0a..18b8c54 100644 --- a/app/controllers/planet_controller.rb +++ b/app/controllers/planet_controller.rb @@ -7,5 +7,9 @@ def contact def ejemplo end + + def author + end + end diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb index 57e0611..c2023cd 100644 --- a/app/controllers/sites_controller.rb +++ b/app/controllers/sites_controller.rb @@ -2,8 +2,19 @@ class SitesController < ApplicationController # authenticate_user! ejecuta acción solo si sesión existe before_filter :authenticate_user!, :except => [ :index, :show ] - after_filter :count_visita, :only => :show + # GET /comentarios + def comentarios + if params[:comentario_id].nil? or params[:comentario_id].empty? + @site = Site.all + else + @site = Comentario.find(params[:comentario_id]).sites + end + respond_to do |format| + format.html # index.html.erb + format.json { render json: @sites } + end + end # GET /sites # GET /sites.json def index @@ -22,7 +33,7 @@ def index # GET /sites/1.json def show @site = Site.find(params[:id]) - + @comentarios = @site.comentarios respond_to do |format| format.html # show.html.erb format.json { render json: @site } @@ -88,9 +99,4 @@ def destroy format.json { head :no_content } end end - - private - def count_visita - @site.increment!(:visitas) - end end diff --git a/app/controllers/types_controller.rb b/app/controllers/types_controller.rb index da826f4..6cd0d55 100644 --- a/app/controllers/types_controller.rb +++ b/app/controllers/types_controller.rb @@ -1,4 +1,15 @@ class TypesController < ApplicationController + + # GET /types/ordered_index + # GET /types.json + def ordered_index + @types = Type.find(:all, :order => :name) + respond_to do |format| + format.html # ordered_index.html.erb + format.json { render json: @types } + end + end + # GET /types # GET /types.json def index diff --git a/app/controllers/visits_controller.rb b/app/controllers/visits_controller.rb index 5bd5366..ab278f2 100644 --- a/app/controllers/visits_controller.rb +++ b/app/controllers/visits_controller.rb @@ -45,7 +45,6 @@ def create respond_to do |format| if @visit.save format.html { redirect_to @visit.trip, notice: 'Visit was successfully created.' } - format.js format.json { render json: @visit, status: :created, location: @visit } else format.html { render action: "new" } diff --git a/app/helpers/comentarios_helper.rb b/app/helpers/comentarios_helper.rb new file mode 100644 index 0000000..a8f928b --- /dev/null +++ b/app/helpers/comentarios_helper.rb @@ -0,0 +1,2 @@ +module ComentariosHelper +end diff --git a/app/models/comentario.rb b/app/models/comentario.rb new file mode 100644 index 0000000..0e89ced --- /dev/null +++ b/app/models/comentario.rb @@ -0,0 +1,8 @@ +class Comentario < ActiveRecord::Base +belongs_to :user +belongs_to :site + +# Debe estar protegido para evitar accesos indeseados + #attr_protected :user_id + +end diff --git a/app/models/site.rb b/app/models/site.rb index 2b2f99a..54ca9d0 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -2,13 +2,13 @@ class Site < ActiveRecord::Base belongs_to :type belongs_to :user has_many :visits - has_many :trips, :through => :visits - has_attached_file :image + has_many :trips, :through => :visits + has_many :comentarios # Debe estar protegido para evitar accesos indeseados attr_protected :user_id # Se añaden estas definiciones - validates :name, :type_id, :presence => true # campo obligatorio + validates :name, :type_id, :image_url, :presence => true # campo obligatorio end diff --git a/app/models/user.rb b/app/models/user.rb index 35b8159..ae2ded8 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,7 +1,15 @@ class User < ActiveRecord::Base + # Include default devise modules. Others available are: + # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable + devise :database_authenticatable, :registerable, + :recoverable, :rememberable, :trackable, :validatable + + # Setup accessible (or protected) attributes for your model + attr_accessible :email, :password, :password_confirmation, :remember_me has_many :sites has_many :trips + has_many :comentarios # Include default devise modules. Others available are: # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable diff --git a/app/views/comentarios/_form.html.erb b/app/views/comentarios/_form.html.erb new file mode 100644 index 0000000..59a35a4 --- /dev/null +++ b/app/views/comentarios/_form.html.erb @@ -0,0 +1,29 @@ +<%= form_for(@comentario) do |f| %> + <% if @comentario.errors.any? %> +

+ <% end %> + +
+ <%= f.label :coment %>
+ <%= f.text_field :coment %> +
+
+ <%= f.label :user_id %>
+ <%= f.number_field :user_id %> +
+
+ <%= f.label :site_id %>
+ <%= f.number_field :site_id %> +
+
+ <%= f.submit %> +
+<% end %> diff --git a/app/views/comentarios/edit.html.erb b/app/views/comentarios/edit.html.erb new file mode 100644 index 0000000..9a8929b --- /dev/null +++ b/app/views/comentarios/edit.html.erb @@ -0,0 +1,6 @@ +

Editing comentario

+ +<%= render 'form' %> + +<%= link_to 'Show', @comentario %> | +<%= link_to 'Back', comentarios_path %> diff --git a/app/views/comentarios/index.html.erb b/app/views/comentarios/index.html.erb new file mode 100644 index 0000000..9eba758 --- /dev/null +++ b/app/views/comentarios/index.html.erb @@ -0,0 +1,29 @@ +

Listing comentarios

+ + + + + + + + + + + +<% @comentarios.each do |comentario| %> + + + + + + <% if comentario.user == current_user %> + + + <% end %> + +<% end %> +
ComentUserSite
<%= comentario.coment %><%= comentario.user_id %><%= comentario.site_id %><%= link_to 'Show', comentario %><%= link_to 'Edit', edit_comentario_path(comentario) %><%= link_to 'Destroy', comentario, confirm: 'Are you sure?', method: :delete %>
+ +
+ +<%= link_to 'New Comentario', new_comentario_path %> diff --git a/app/views/comentarios/new.html.erb b/app/views/comentarios/new.html.erb new file mode 100644 index 0000000..5310e0c --- /dev/null +++ b/app/views/comentarios/new.html.erb @@ -0,0 +1,5 @@ +

New comentario

+ +<%= render 'form' %> + +<%= link_to 'Back', comentarios_path %> diff --git a/app/views/comentarios/show.html.erb b/app/views/comentarios/show.html.erb new file mode 100644 index 0000000..bed947d --- /dev/null +++ b/app/views/comentarios/show.html.erb @@ -0,0 +1,20 @@ +

<%= notice %>

+ +

+ Coment: + <%= @comentario.coment %> +

+ +

+ User: + <%= @comentario.user_id %> +

+ +

+ Site: + <%= @comentario.site_id %> +

+ + +<%= link_to 'Edit', edit_comentario_path(@comentario) %> | +<%= link_to 'Back', comentarios_path %> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 82edd70..8afe401 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -6,7 +6,11 @@ <%= javascript_include_tag "application" %> <%= csrf_meta_tags %> - + @@ -14,7 +18,14 @@ - \ No newline at end of file + + diff --git a/app/views/planet/author.css b/app/views/planet/author.css new file mode 100644 index 0000000..7e75248 --- /dev/null +++ b/app/views/planet/author.css @@ -0,0 +1,4 @@ + +.autor1{color:red;clear:both;float:left; margin:300;background-color:#fc0;text-align:center;} +.autor2{float:right;margin-left:600;background-color:#0cf;padding: 5px} +.container{ margin-left:30;} diff --git a/app/views/planet/author.html.erb b/app/views/planet/author.html.erb new file mode 100644 index 0000000..2f38299 --- /dev/null +++ b/app/views/planet/author.html.erb @@ -0,0 +1,43 @@ + + + + + + +
+

Autores

+

sepa

+
+
+
+

Nombre:


+

Direccion postal:


+

Direccion electronica:


+ +<%= image_tag('auto1.jpeg') %> + +

Curriculum:

+ +
+

+
+

separacion

+

+
+
+

Nombre:


+

Direccion postal:


+

Direccion electronica:


+ +<%= image_tag('auto2.jpg') %> + +

Curriculum:

+ +
+
+ + diff --git a/app/views/sites/_form.html.erb b/app/views/sites/_form.html.erb index f1fd754..abc9fec 100644 --- a/app/views/sites/_form.html.erb +++ b/app/views/sites/_form.html.erb @@ -24,8 +24,8 @@ <%= f.collection_select(:type_id, Type.find(:all, :order => :name), :id, :name) %>
- <%= f.label :image %>
- <%= f.file_field :image %> + <%= f.label :image_url %>
+ <%= f.text_field :image_url %>
<%= f.submit %> diff --git a/app/views/sites/_form2.html.erb b/app/views/sites/_form2.html.erb new file mode 100644 index 0000000..bbf9624 --- /dev/null +++ b/app/views/sites/_form2.html.erb @@ -0,0 +1,10 @@ +<%= form_for([@site, @site.comentarios.create(:user_id => current_user, :site_id => @site)]) do |f| %> +
+
+
+ <%= f.text_area :coment , :rows => 4 %> +
+
+ <%= f.submit "nuevo comentario"%> +
+<% end %> diff --git a/app/views/sites/a b/app/views/sites/a new file mode 100644 index 0000000..f8f4a6b --- /dev/null +++ b/app/views/sites/a @@ -0,0 +1,29 @@ + + +
+ + + +version con pruebas y modificada, pero parece que no entiende el script...solo el formulario + + + + +
+ +
+ diff --git a/app/views/sites/index.html.erb b/app/views/sites/index.html.erb index b8e4cae..1e24494 100644 --- a/app/views/sites/index.html.erb +++ b/app/views/sites/index.html.erb @@ -6,7 +6,7 @@ - <%= link_to image_tag(site.image.url, :class => 'list_image'), site %> + <%= link_to image_tag(site.image_url, :class => 'list_image'), site %> @@ -15,20 +15,28 @@
<%= truncate(strip_tags(site.description), :length => 80) %>
+
+ <% if site.comentarios.empty? == false %> + <%= link_to "Comentarios", comentarios_path %> + <%end%> +
- + <%= link_to 'Show', site %>
- <% if site.user == current_user %> <%= link_to 'Edit', edit_site_path(site) %>
+ <% if site.user == current_user %> + <%= link_to 'Edit', edit_site_path(site) %>
<%= link_to 'Destroy', site, :confirm => 'Are you sure?', :method => :delete %> - <% end %> + <% end %> + <% end %>
- +
-<%= link_to 'New site', new_site_path %> \ No newline at end of file + +<%= link_to 'New site', new_site_path %> diff --git a/app/views/sites/show.html.erb b/app/views/sites/show.html.erb index 01a5417..e9345dd 100644 --- a/app/views/sites/show.html.erb +++ b/app/views/sites/show.html.erb @@ -2,18 +2,37 @@

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

- <%= image_tag(@site.image.url, :class => 'site_image') %> + <%= image_tag(@site.image_url, :class => 'site_image') %>

<%= @site.name %>

<%=sanitize @site.description %>

-

Autor: <%= @site.user.name if @site.user %>

- +

Autor: + <%= @site.user.name if @site.user %>

+ +

Comentarios: +<% @site.comentarios.each do |coment| %> +

+ <%= coment.user.name %>: + + <%= coment.coment%> | -

- Visitas: <%= @site.visitas %> -
+ <% if coment.user == current_user %> + <%= link_to 'Edit', edit_comentario_path(coment) %> | + <%= link_to 'Destroy', coment, + :confirm => 'Are you sure?', + :method => :delete %> + <% end %> +

+<% end %> +

Añada su comentario

+ +<%= render 'form2' %>

-<% if @site.user == current_user %> <%= link_to 'Edit', edit_site_path(@site) %> | <% end %> <%= link_to 'Back', sites_path %> +<% if @site.user == current_user %> + <%= link_to 'Edit', edit_site_path(@site) %> | +<% end %> +<%= link_to 'Back', sites_path %> + diff --git a/app/views/trips/_trip.html.erb b/app/views/trips/_trip.html.erb index 2d69c99..d8c5b00 100644 --- a/app/views/trips/_trip.html.erb +++ b/app/views/trips/_trip.html.erb @@ -3,7 +3,7 @@ <% trip.visits.order(:hour).each do |visit| %> - <%= link_to image_tag(visit.site.image.url, :class => 'list_image'), visit.site %> + <%= link_to image_tag(visit.site.image_url, :class => 'list_image'), visit.site %> @@ -19,7 +19,7 @@ <%= link_to 'Show', visit.site %>
<%= link_to 'Destroy', visit, :confirm => 'Are you sure?', - :method => :delete if trip.user == current_user %> + :method => :delete if @trip.user == current_user %> diff --git a/app/views/trips/show.html.erb b/app/views/trips/show.html.erb index 8bced6a..26176f0 100644 --- a/app/views/trips/show.html.erb +++ b/app/views/trips/show.html.erb @@ -9,7 +9,7 @@ <%= render(@trip) %> <% if @trip.user == current_user %> - <%= form_for(@visit, :remote => true) do |f| %> + <%= form_for(@visit) do |f| %> <%= f.number_field :trip_id, :value => @trip.id, :hidden => true %> <%= f.collection_select(:site_id, diff --git a/app/views/types/index.html.erb b/app/views/types/index.html.erb index e761359..58b77d3 100644 --- a/app/views/types/index.html.erb +++ b/app/views/types/index.html.erb @@ -1,3 +1,4 @@ +

Listing Types

@@ -18,13 +19,17 @@ <%= link_to 'Edit', edit_type_path(type) %>
<%= link_to 'Destroy', type, :confirm => 'Are you sure?', - :method => :delete %> + :method => :delete %>
+ <%= type.updated_at%> <% end %>
+ +
<%= link_to 'New Type', new_type_path %> + diff --git a/app/views/types/ordered_index.html.erb b/app/views/types/ordered_index.html.erb new file mode 100644 index 0000000..d490ea9 --- /dev/null +++ b/app/views/types/ordered_index.html.erb @@ -0,0 +1,26 @@ +

Ordering types

+ + + + + + + + + + +<% @types.each do |type| %> + + + + + + + +<% end %> +
NameDescription
<%= type.name %><%= type.description %><%= link_to 'Show', type %><%= link_to 'Edit', edit_type_path(type) %><%= link_to 'Destroy', type, confirm: 'Are you sure?', method: :delete %>
+ +
+ +<%= link_to 'New Type', new_type_path %> + diff --git a/app/views/types/show.html.erb b/app/views/types/show.html.erb index 98b32e7..b5be6f1 100644 --- a/app/views/types/show.html.erb +++ b/app/views/types/show.html.erb @@ -10,6 +10,6 @@ <%= @type.description %>

- +<%= @type.updated_at%>
<%= link_to 'Edit', edit_type_path(@type) %> | <%= link_to 'Back', types_path %> diff --git a/config/application.rb b/config/application.rb index d40bd35..5ab23d7 100644 --- a/config/application.rb +++ b/config/application.rb @@ -55,9 +55,5 @@ class Application < Rails::Application # Version of your assets, change this if you want to expire all your assets config.assets.version = '1.0' - - # Avoid problem when deploying to Heroku - # https://devcenter.heroku.com/articles/rails3x-asset-pipeline-cedar#troubleshooting - config.assets.initialize_on_precompile = false end end diff --git a/config/routes.rb b/config/routes.rb index 29d3c86..cd5831e 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -1,5 +1,16 @@ Planet::Application.routes.draw do + + + + get "types/ordered_index" + + get "comentarios/index" + + resources :types + + resources :comentarios + resources :visits resources :trips @@ -12,12 +23,20 @@ resources :sites, :only => [ :index ] # Restringe a acción “index” end + resources :sites do + resources :comentarios + end + get "planet/index" get "planet/contact" get "planet/ejemplo" + get "planet/author" + + + # The priority is based upon order of creation: # first created -> highest priority. diff --git a/db/migrate/20120411202857_create_comentarios.rb b/db/migrate/20120411202857_create_comentarios.rb new file mode 100644 index 0000000..1f46d24 --- /dev/null +++ b/db/migrate/20120411202857_create_comentarios.rb @@ -0,0 +1,11 @@ +class CreateComentarios < ActiveRecord::Migration + def change + create_table :comentarios do |t| + t.string :coment + t.integer :user_id + t.integer :site_id + + t.timestamps + end + end +end diff --git a/db/schema.rb b/db/schema.rb index e6aa66f..7bb80fd 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -11,21 +11,24 @@ # # It's strongly recommended to check this file into your version control system. -ActiveRecord::Schema.define(:version => 20120411160519) do +ActiveRecord::Schema.define(:version => 20120411202857) do + + create_table "comentarios", :force => true do |t| + t.string "coment" + t.integer "user_id" + t.integer "site_id" + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false + end create_table "sites", :force => true do |t| t.string "name" t.text "description" t.integer "type_id" t.string "image_url" - t.datetime "created_at", :null => false - t.datetime "updated_at", :null => false + t.datetime "created_at", :null => false + t.datetime "updated_at", :null => false t.integer "user_id" - t.string "image_file_name" - t.string "image_content_type" - t.string "image_file_size" - t.datetime "image_updated_at" - t.integer "visitas", :default => 0 end create_table "trips", :force => true do |t| diff --git a/db:migrate b/db:migrate new file mode 100644 index 0000000..e69de29 diff --git a/rails b/rails new file mode 100644 index 0000000..e69de29 diff --git a/test/fixtures/comentarios.yml b/test/fixtures/comentarios.yml new file mode 100644 index 0000000..e7e2ac9 --- /dev/null +++ b/test/fixtures/comentarios.yml @@ -0,0 +1,11 @@ +# Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/Fixtures.html + +one: + coment: MyString + user_id: 1 + site_id: 1 + +two: + coment: MyString + user_id: 1 + site_id: 1 diff --git a/test/functional/comentarios_controller_test.rb b/test/functional/comentarios_controller_test.rb new file mode 100644 index 0000000..2c09333 --- /dev/null +++ b/test/functional/comentarios_controller_test.rb @@ -0,0 +1,49 @@ +require 'test_helper' + +class ComentariosControllerTest < ActionController::TestCase + setup do + @comentario = comentarios(:one) + end + + test "should get index" do + get :index + assert_response :success + assert_not_nil assigns(:comentarios) + end + + test "should get new" do + get :new + assert_response :success + end + + test "should create comentario" do + assert_difference('Comentario.count') do + post :create, comentario: @comentario.attributes + end + + assert_redirected_to comentario_path(assigns(:comentario)) + end + + test "should show comentario" do + get :show, id: @comentario + assert_response :success + end + + test "should get edit" do + get :edit, id: @comentario + assert_response :success + end + + test "should update comentario" do + put :update, id: @comentario, comentario: @comentario.attributes + assert_redirected_to comentario_path(assigns(:comentario)) + end + + test "should destroy comentario" do + assert_difference('Comentario.count', -1) do + delete :destroy, id: @comentario + end + + assert_redirected_to comentarios_path + end +end diff --git a/test/functional/planet_controller_test.rb b/test/functional/planet_controller_test.rb index 88229e0..c2e7348 100644 --- a/test/functional/planet_controller_test.rb +++ b/test/functional/planet_controller_test.rb @@ -11,4 +11,14 @@ class PlanetControllerTest < ActionController::TestCase assert_response :success end + test "should get ejemplo" do + get :ejemplo + assert_response :success + end + + test "should get author" do + get :author + assert_response :success + end + end diff --git a/test/unit/comentario_test.rb b/test/unit/comentario_test.rb new file mode 100644 index 0000000..02f982d --- /dev/null +++ b/test/unit/comentario_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class ComentarioTest < ActiveSupport::TestCase + # test "the truth" do + # assert true + # end +end diff --git a/test/unit/helpers/comentarios_helper_test.rb b/test/unit/helpers/comentarios_helper_test.rb new file mode 100644 index 0000000..d553eef --- /dev/null +++ b/test/unit/helpers/comentarios_helper_test.rb @@ -0,0 +1,4 @@ +require 'test_helper' + +class ComentariosHelperTest < ActionView::TestCase +end From 0cdedac59adb32858b777308c84dd579b3aeda3b Mon Sep 17 00:00:00 2001 From: Arzur Date: Sun, 22 Apr 2012 23:41:23 +0200 Subject: [PATCH 2/6] =?UTF-8?q?a=C3=B1adido=20buscador?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/assets/images/beachflag.png | Bin 0 -> 798 bytes app/controllers/application_controller.rb | 2 + app/controllers/comentarios_controller.rb | 2 + app/controllers/planet_controller.rb | 12 +- app/controllers/sites_controller.rb | 30 +- app/controllers/trips_controller.rb | 2 + app/controllers/types_controller.rb | 2 + app/controllers/visits_controller.rb | 2 + app/helpers/application_helper.rb | 2 + app/helpers/comentarios_helper.rb | 2 + app/helpers/planet_helper.rb | 2 + app/helpers/sites_helper.rb | 1 + app/helpers/trips_helper.rb | 2 + app/helpers/types_helper.rb | 2 + app/helpers/visits_helper.rb | 2 + app/models/comentario.rb | 4 +- app/models/site.rb | 2 + app/models/trip.rb | 2 + app/models/type.rb | 2 + app/models/user.rb | 2 + app/models/visit.rb | 2 + app/views/comentarios/edit.html.erb | 2 + app/views/comentarios/index.html.erb | 6 +- app/views/comentarios/show.html.erb | 4 +- app/views/layouts/application.html.erb | 5 + app/views/planet/busquedaincorrecta.html.erb | 1 + app/views/planet/search.html.erb | 77 +++ app/views/sites/_form.html.erb | 3 +- app/views/sites/_form2.html.erb | 2 +- app/views/sites/index.html.erb | 5 +- app/views/sites/new.html.erb | 4 +- app/views/sites/search.html.erb | 39 ++ app/views/sites/show.html.erb | 64 ++- app/views/trips/show.html.erb | 29 +- config/routes.rb | 13 +- doc/app/ApplicationController.html | 8 + doc/app/ApplicationHelper.html | 8 + doc/app/Comentario.html | 166 +++++++ doc/app/ComentariosController.html | 443 ++++++++++++++++++ doc/app/ComentariosHelper.html | 159 +++++++ doc/app/PlanetController.html | 116 ++++- doc/app/PlanetHelper.html | 8 + doc/app/Site.html | 8 + doc/app/SitesController.html | 60 ++- doc/app/SitesHelper.html | 8 + doc/app/Trip.html | 8 + doc/app/TripsController.html | 22 +- doc/app/TripsHelper.html | 8 + doc/app/Type.html | 8 + doc/app/TypesController.html | 58 ++- doc/app/TypesHelper.html | 8 + doc/app/User.html | 8 + doc/app/Visit.html | 8 + doc/app/VisitsController.html | 23 +- doc/app/VisitsHelper.html | 8 + doc/app/created.rid | 41 +- doc/app/doc/README_FOR_APP.html | 6 + doc/app/images/add.png | Bin doc/app/images/delete.png | Bin doc/app/images/tag_blue.png | Bin doc/app/index.html | 6 + doc/app/js/search_index.js | 2 +- doc/app/table_of_contents.html | 59 ++- test/fixtures/comentarios.yml | 10 +- test/fixtures/sites.yml | 12 +- test/fixtures/trips.yml | 7 +- test/fixtures/types.yml | 15 +- test/fixtures/visits.yml | 4 +- .../functional/comentarios_controller_test.rb | 5 + 69 files changed, 1511 insertions(+), 132 deletions(-) create mode 100644 app/assets/images/beachflag.png create mode 100644 app/views/planet/busquedaincorrecta.html.erb create mode 100644 app/views/planet/search.html.erb create mode 100644 app/views/sites/search.html.erb create mode 100644 doc/app/Comentario.html create mode 100644 doc/app/ComentariosController.html create mode 100644 doc/app/ComentariosHelper.html mode change 100755 => 100644 doc/app/images/add.png mode change 100755 => 100644 doc/app/images/delete.png mode change 100755 => 100644 doc/app/images/tag_blue.png diff --git a/app/assets/images/beachflag.png b/app/assets/images/beachflag.png new file mode 100644 index 0000000000000000000000000000000000000000..6e6ad4e01d7ff10b8fb41e72c6aaacbf3ecfdb77 GIT binary patch literal 798 zcmV+(1L6FMP)u}u?VSGad}jw+_0*E-Yy!?Nsrpw+xwxFlGk3U_=U8@LrOe(P;Wogc~Z7oNt<~`ip@qfK&h=I z3BShpHatLTa)w&&_MgY&0BeW`K*b8rENU)cTut0U6fkk5Eo1oEFG((ggb1aAdC9bM7A~) z1z9+Kt2fISC3A?!<1^&A*Fu@+xR?tS%I-s^8@qB08O?A$*q`++Ny=+-UL2z2s@XDg z)k=b)P-xWUat-$M3|)3uKQ+f&a8e3WVzi7{F7kk zt(ybWWx+6b1z4r8Ji!RBcTxgk#>y^B8-Ty_y>zBsl3JDrV->6|5=Wgm8ntD_I3;r8H-Auuv;TCL4 c_@@8^0E@ikCxlw%Bme*a07*qoM6N<$g5el?%m4rY literal 0 HcmV?d00001 diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index e8065d9..089a1f8 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -1,3 +1,5 @@ +# Controlador de la aplicacion. +# class ApplicationController < ActionController::Base protect_from_forgery end diff --git a/app/controllers/comentarios_controller.rb b/app/controllers/comentarios_controller.rb index e524fe4..b1f46bb 100644 --- a/app/controllers/comentarios_controller.rb +++ b/app/controllers/comentarios_controller.rb @@ -1,3 +1,5 @@ +# Controlador de los comentarios donde se definen sus metodos +# class ComentariosController < ApplicationController before_filter :authenticate_user! diff --git a/app/controllers/planet_controller.rb b/app/controllers/planet_controller.rb index 4529941..5fe3d1d 100644 --- a/app/controllers/planet_controller.rb +++ b/app/controllers/planet_controller.rb @@ -29,9 +29,17 @@ def contact # Método que define una acción vacía del controlador def ejemplo end - + # Método que define una acción vacía del controlador def author end + # Método que realiza la busqueda de sitios y viajes + def search + if params[:q].length >= 3 + @sites = Site.where("name like ? OR description like ?", "%#{params[:q]}%", "%#{params[:q]}%") + @trips = Trip.where("name like ? OR description like ?", "%#{params[:q]}%", "%#{params[:q]}%") + else + render action: "busquedaincorrecta" + end + end - end diff --git a/app/controllers/sites_controller.rb b/app/controllers/sites_controller.rb index 6002c47..d0a18e5 100644 --- a/app/controllers/sites_controller.rb +++ b/app/controllers/sites_controller.rb @@ -1,9 +1,23 @@ +# Controlador de los sitios donde se definen sus metodos +# class SitesController < ApplicationController # authenticate_user! ejecuta acción solo si sesión existe before_filter :authenticate_user!, :except => [ :index, :show ] - + after_filter :count_visita, :only => :show + + # GET /sites/search + # GET /sites/search.xml + def search + @sites = Site.where("name like ? OR description like ?", "%#{params[:q]}%", "%#{params[:q]}%") + + respond_to do |format| + format.html # search.html.erb + format.xml { render :xml => @sites } + end + end + # GET /sites # GET /sites.json def index @@ -17,6 +31,15 @@ def index format.json { render json: @sites } end end + # GET + # GET /sites.json + def id + @sites = Visit.find(params[:user_id]).sites # path: /types/id/sites + respond_to do |format| + format.html # index.html.erb + format.json { render json: @sites } + end + end # GET /sites/1 # GET /sites/1.json @@ -88,4 +111,9 @@ def destroy format.json { head :no_content } end end +private + #Incrementa visita cuando se accede al sitio + def count_visita + @site.increment!(:visitas) + end end diff --git a/app/controllers/trips_controller.rb b/app/controllers/trips_controller.rb index 321f6e3..82a9d00 100644 --- a/app/controllers/trips_controller.rb +++ b/app/controllers/trips_controller.rb @@ -1,3 +1,5 @@ +# Controlador de los viajes donde se definen sus metodos +# class TripsController < ApplicationController # authenticate_user! ejecuta acción solo si sesión existe diff --git a/app/controllers/types_controller.rb b/app/controllers/types_controller.rb index 6cd0d55..62c5386 100644 --- a/app/controllers/types_controller.rb +++ b/app/controllers/types_controller.rb @@ -1,3 +1,5 @@ +# Controlador de los tipos donde se definen sus metodos +# class TypesController < ApplicationController # GET /types/ordered_index diff --git a/app/controllers/visits_controller.rb b/app/controllers/visits_controller.rb index ab278f2..d15a0c0 100644 --- a/app/controllers/visits_controller.rb +++ b/app/controllers/visits_controller.rb @@ -1,3 +1,5 @@ +# Controlador de las visitas donde se definen sus metodos +# class VisitsController < ApplicationController # GET /visits # GET /visits.json diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index de6be79..fb8e690 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -1,2 +1,4 @@ +# Helper de la clase Application +# module ApplicationHelper end diff --git a/app/helpers/comentarios_helper.rb b/app/helpers/comentarios_helper.rb index a8f928b..020d33a 100644 --- a/app/helpers/comentarios_helper.rb +++ b/app/helpers/comentarios_helper.rb @@ -1,2 +1,4 @@ +# Helper de la clase Comentarios +# module ComentariosHelper end diff --git a/app/helpers/planet_helper.rb b/app/helpers/planet_helper.rb index 5bbc197..3e30c2d 100644 --- a/app/helpers/planet_helper.rb +++ b/app/helpers/planet_helper.rb @@ -1,2 +1,4 @@ +# Helper de la clase Planet +# module PlanetHelper end diff --git a/app/helpers/sites_helper.rb b/app/helpers/sites_helper.rb index 621069d..e532277 100644 --- a/app/helpers/sites_helper.rb +++ b/app/helpers/sites_helper.rb @@ -1,2 +1,3 @@ +# Helper de la clase Sites module SitesHelper end diff --git a/app/helpers/trips_helper.rb b/app/helpers/trips_helper.rb index 04f333d..45b8bd1 100644 --- a/app/helpers/trips_helper.rb +++ b/app/helpers/trips_helper.rb @@ -1,2 +1,4 @@ +# Helper de la clase Trips +# module TripsHelper end diff --git a/app/helpers/types_helper.rb b/app/helpers/types_helper.rb index 40a2b9e..2189db9 100644 --- a/app/helpers/types_helper.rb +++ b/app/helpers/types_helper.rb @@ -1,2 +1,4 @@ +# Helper de la clase Types +# module TypesHelper end diff --git a/app/helpers/visits_helper.rb b/app/helpers/visits_helper.rb index 8ce5f83..8f7335f 100644 --- a/app/helpers/visits_helper.rb +++ b/app/helpers/visits_helper.rb @@ -1,2 +1,4 @@ +# Helper de la clase Visit +# module VisitsHelper end diff --git a/app/models/comentario.rb b/app/models/comentario.rb index dbe2aa1..aa9018c 100644 --- a/app/models/comentario.rb +++ b/app/models/comentario.rb @@ -1,8 +1,10 @@ +# Se definen las relaciones de la clase Comentario +# class Comentario < ActiveRecord::Base belongs_to :user belongs_to :site -validates :coment, :length => {:maximum => 240} +validates :coment, :site_id, :user_id, :length => {:maximum => 240}, :presence => true # Debe estar protegido para evitar accesos indeseados #attr_protected :user_id diff --git a/app/models/site.rb b/app/models/site.rb index 54ca9d0..e9f39d0 100644 --- a/app/models/site.rb +++ b/app/models/site.rb @@ -1,3 +1,5 @@ +# Se definen las relaciones de la clase Site +# class Site < ActiveRecord::Base belongs_to :type belongs_to :user diff --git a/app/models/trip.rb b/app/models/trip.rb index 4ff6d83..c1b10cb 100644 --- a/app/models/trip.rb +++ b/app/models/trip.rb @@ -1,3 +1,5 @@ +# Se definen las relaciones de la clase Trip +# class Trip < ActiveRecord::Base belongs_to :user has_many :visits diff --git a/app/models/type.rb b/app/models/type.rb index 2284d1f..46025f9 100644 --- a/app/models/type.rb +++ b/app/models/type.rb @@ -1,3 +1,5 @@ +# Se definen las relaciones de la clase Type +# class Type < ActiveRecord::Base has_many :sites diff --git a/app/models/user.rb b/app/models/user.rb index ae2ded8..b6c080d 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -1,3 +1,5 @@ +# Se definen las relaciones de la clase User +# class User < ActiveRecord::Base # Include default devise modules. Others available are: # :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable diff --git a/app/models/visit.rb b/app/models/visit.rb index 57546da..d0d7e0f 100644 --- a/app/models/visit.rb +++ b/app/models/visit.rb @@ -1,3 +1,5 @@ +# Se definen las relaciones de la clase Visit +# class Visit < ActiveRecord::Base belongs_to :trip belongs_to :site diff --git a/app/views/comentarios/edit.html.erb b/app/views/comentarios/edit.html.erb index 9a8929b..e6754dc 100644 --- a/app/views/comentarios/edit.html.erb +++ b/app/views/comentarios/edit.html.erb @@ -1,3 +1,5 @@ +# Vista de edicion de los comentarios +#

Editing comentario

<%= render 'form' %> diff --git a/app/views/comentarios/index.html.erb b/app/views/comentarios/index.html.erb index 9eba758..2fe3f3f 100644 --- a/app/views/comentarios/index.html.erb +++ b/app/views/comentarios/index.html.erb @@ -12,9 +12,9 @@ <% @comentarios.each do |comentario| %> - <%= comentario.coment %> - <%= comentario.user_id %> - <%= comentario.site_id %> + <%= comentario.coment %> + <%= comentario.user.name %> + <%= comentario.site.name %> <%= link_to 'Show', comentario %> <% if comentario.user == current_user %> <%= link_to 'Edit', edit_comentario_path(comentario) %> diff --git a/app/views/comentarios/show.html.erb b/app/views/comentarios/show.html.erb index bed947d..e047749 100644 --- a/app/views/comentarios/show.html.erb +++ b/app/views/comentarios/show.html.erb @@ -7,12 +7,12 @@

User: - <%= @comentario.user_id %> + <%= @comentario.user.name %>

Site: - <%= @comentario.site_id %> + <%= @comentario.site.name %>

diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 6b68027..df3c165 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -18,6 +18,10 @@