Commit fd1f7b2b2030a587159b886052bf551d89011b01

Authored by Thiago Ribeiro
2 parents 7b2206ed 3a1fbaf9

Merge branch 'html_classes_revision' into 'master'

Html classes revision

See merge request !1
.gitignore 0 → 100644
... ... @@ -0,0 +1,2 @@
  1 +*.swp
  2 +
... ...
db/migrate/20150714123613_add_institution_to_comments.rb 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +class AddInstitutionToComments < ActiveRecord::Migration
  2 + def up
  3 + change_table :comments do |t|
  4 + t.belongs_to :institution
  5 + end
  6 + end
  7 +
  8 + def down
  9 + remove_column :comments, :institution_id
  10 + end
  11 +end
... ...
db/migrate/20150814192230_add_institution_id_to_create_community_rating_comment.rb 0 → 100644
... ... @@ -0,0 +1,11 @@
  1 +class AddInstitutionIdToCreateCommunityRatingComment < ActiveRecord::Migration
  2 + def up
  3 + change_table :tasks do |t|
  4 + t.belongs_to :institution
  5 + end
  6 + end
  7 +
  8 + def down
  9 + remove_column :tasks, :institution_id
  10 + end
  11 +end
... ...
features/steps_definitions/gov_user_steps.rb
... ... @@ -66,7 +66,6 @@ Given /^the following public institutions?$/ do |table|
66 66 end
67 67 end
68 68  
69   -
70 69 Given /^I sleep for (\d+) seconds$/ do |time|
71 70 sleep time.to_i
72 71 end
... ... @@ -87,4 +86,5 @@ Given /^I am logged in as mpog_admin$/ do
87 86 fill_in("Username", :with => user.login)
88 87 fill_in("Password", :with => '123456')
89 88 click_button("Log in")
90   -end
91 89 \ No newline at end of file
  90 +end
  91 +
... ...
lib/ext/comment.rb 0 → 100644
... ... @@ -0,0 +1,18 @@
  1 +require_dependency "comment"
  2 +
  3 +Comment.class_eval do
  4 + attr_accessible :institution_id
  5 +
  6 + belongs_to :institution
  7 +
  8 + validate :verify_institution
  9 +
  10 + private
  11 +
  12 + def verify_institution
  13 + if self.institution_id != nil
  14 + institution = Institution.find_by_id self.institution_id
  15 + self.errors.add :institution, _("not found") unless institution
  16 + end
  17 + end
  18 +end
... ...
lib/ext/create_community_rating_comment.rb 0 → 100644
... ... @@ -0,0 +1,6 @@
  1 +require_dependency "create_community_rating_comment"
  2 +
  3 +CreateCommunityRatingComment.class_eval do
  4 + attr_accessible :institution_id
  5 +end
  6 +
... ...
lib/gov_user_plugin.rb
... ... @@ -153,6 +153,7 @@ class GovUserPlugin &lt; Noosfero::Plugin
153 153 views/create-institution.js
154 154 views/new-community.js
155 155 views/user-edit-profile.js
  156 + views/gov-user-comments-extra-fields.js
156 157 initializer.js
157 158 app.js
158 159 )
... ... @@ -232,6 +233,24 @@ class GovUserPlugin &lt; Noosfero::Plugin
232 233 end
233 234 end
234 235  
  236 + def communities_ratings_plugin_comments_extra_fields
  237 + Proc::new do render :file => 'comments_extra_field' end
  238 + end
  239 +
  240 + def communities_ratings_plugin_extra_fields_show_data user_rating
  241 + if logged_in?
  242 + is_admin = environment.admins.include?(current_user.person)
  243 + is_admin ||= user_rating.community.admins.include?(current_user.person)
  244 +
  245 + if is_admin and context.profile.software?
  246 + Proc::new {
  247 + render :file => 'communities_ratings_extra_fields_show_institution',
  248 + :locals => {:user_rating => user_rating}
  249 + }
  250 + end
  251 + end
  252 + end
  253 +
235 254 private
236 255  
237 256 def call_model_transaction(model,name)
... ...
lib/institution.rb
1 1 class Institution < ActiveRecord::Base
  2 + has_many :comments
2 3  
3 4 SEARCH_FILTERS = {
4 5 :order => %w[],
... ...
public/initializer.js
... ... @@ -6,7 +6,8 @@
6 6 'CreateInstitution',
7 7 'CompleteRegistration',
8 8 'UserEditProfile',
9   - 'NewCommunity'
  9 + 'NewCommunity',
  10 + 'GovUserCommentsExtraFields'
10 11 ];
11 12  
12 13  
... ...
public/views/create-institution.js
... ... @@ -395,6 +395,10 @@ modulejs.define(&#39;CreateInstitution&#39;, [&#39;jquery&#39;, &#39;NoosferoRoot&#39;, &#39;SelectElement&#39;]
395 395 init: function() {
396 396 set_form_count_custom_data();
397 397 set_events();
  398 + },
  399 +
  400 + institution_autocomplete: function(){
  401 + institution_autocomplete();
398 402 }
399 403 };
400 404 });
... ...
public/views/gov-user-comments-extra-fields.js 0 → 100644
... ... @@ -0,0 +1,26 @@
  1 +modulejs.define("GovUserCommentsExtraFields", ['jquery','CreateInstitution'], function($,CreateInstitution) {
  2 +
  3 + function set_events() {
  4 + CreateInstitution.institution_autocomplete();
  5 + }
  6 +
  7 +
  8 + function prepend_to_additional_information() {
  9 + var institution_comments = $("#input_institution_comments").remove();
  10 +
  11 + $(".comments-software-extra-fields").prepend(institution_comments);
  12 + }
  13 +
  14 +
  15 + return {
  16 + isCurrentPage: function() {
  17 + return $(".star-rate-form").length === 1;
  18 + },
  19 +
  20 + init: function() {
  21 + prepend_to_additional_information();
  22 + set_events();
  23 + }
  24 + }
  25 +
  26 +})
... ...
test/unit/comment_test.rb 0 → 100644
... ... @@ -0,0 +1,37 @@
  1 +require File.dirname(__FILE__) + '/../../../../test/test_helper'
  2 +require File.dirname(__FILE__) + '/../helpers/plugin_test_helper'
  3 +
  4 +class CommentTest < ActiveSupport::TestCase
  5 + include PluginTestHelper
  6 +
  7 + should "validate institution if there an institution_id" do
  8 + private_institution = build_private_institution "huehue", "hue", "11.222.333/4444-55"
  9 +
  10 + assert_equal true, private_institution.save
  11 +
  12 + comment = Comment.new :institution_id => 123456, :body => "simple body"
  13 + comment.valid?
  14 +
  15 + assert_equal true, comment.errors[:institution].include?("not found")
  16 +
  17 + comment.institution = private_institution
  18 + comment.valid?
  19 +
  20 + assert_equal false, comment.errors[:institution].include?("not found")
  21 + end
  22 +
  23 + private
  24 +
  25 + def build_private_institution name, corporate_name, cnpj, country="AR"
  26 + community = Community.new :name => name
  27 + community.country = country
  28 +
  29 + institution = PrivateInstitution.new :name=> name
  30 + institution.corporate_name = corporate_name
  31 + institution.cnpj = cnpj
  32 + institution.community = community
  33 +
  34 + institution
  35 + end
  36 +end
  37 +
... ...
test/unit/gov_user_person_test.rb
... ... @@ -15,6 +15,7 @@ class SoftwareCommunitiesPluginPersonTest &lt; ActiveSupport::TestCase
15 15 "user@email.com",
16 16 "123456",
17 17 "123456",
  18 + "user2@email.com",
18 19 "Any State",
19 20 "Some City"
20 21 )
... ...
test/unit/institution_test.rb
... ... @@ -29,34 +29,35 @@ class InstitutionTest &lt; ActiveSupport::TestCase
29 29 end
30 30 should "not save institutions without name" do
31 31 @institution.name = nil
32   - assert !@institution.save
33   - assert @institution.errors.full_messages.include? "Name can't be blank"
  32 + assert_equal false, @institution.save
  33 + assert_equal true, @institution.errors.full_messages.include?("Name can't be blank")
34 34 end
35 35  
36 36 should "not save if institution has invalid type" do
37 37 invalid_msg = "Type invalid, only public and private institutions are allowed."
38 38 @institution.type = "Other type"
39   - assert !@institution.save, 'Invalid type'
40   - assert @institution.errors.full_messages.include? invalid_msg
  39 + assert_equal false, @institution.save
  40 + assert_equal true, @institution.errors.full_messages.include?(invalid_msg)
41 41 end
42 42  
43 43 should "not save without country" do
44 44 @institution.community.country = nil
45   - assert !@institution.save, "Country can't be blank"
46   - assert @institution.errors.full_messages.include? "Country can't be blank"
  45 + assert_equal false, @institution.save
  46 + assert_equal true, @institution.errors.full_messages.include?("Country can't be blank")
47 47 end
48 48  
49 49 should "not save without state" do
50 50 @institution.community.state = nil
51 51  
52   - assert !@institution.save, "State can't be blank"
53   - assert @institution.errors.full_messages.include? "State can't be blank"
  52 + assert_equal false, @institution.save
  53 + assert_equal true, @institution.errors.full_messages.include?("State can't be blank")
54 54 end
55 55  
56 56 should "not save without city" do
57 57 @institution.community.city = nil
  58 + @institution.community.state = "DF"
58 59  
59   - assert !@institution.save, "City can't be blank"
60   - assert @institution.errors.full_messages.include? "City can't be blank"
  60 + assert_equal false, @institution.save
  61 + assert_equal true, @institution.errors.full_messages.include?("City can't be blank")
61 62 end
62 63 end
... ...
views/comments_extra_field.html.erb 0 → 100644
... ... @@ -0,0 +1,10 @@
  1 +<div id="input_institution_comments">
  2 + <%= label_tag "input_institution", _("Organization name or Enterprise name")%>
  3 + <span class="star-tooltip" title="Órgão ou Empresa que você representa e utiliza o software"></span>
  4 + <input type="text" id="input_institution">
  5 +
  6 + <%= content_tag(:div, _("No institution found"),
  7 + :id=>"institution_empty_ajax_message",
  8 + :class=>"errorExplanation hide-field") %>
  9 + <%= hidden_field_tag "comments[institution_id]", "", id: "institution_selected" %>
  10 +</div>
... ...
views/communities_ratings_extra_fields_show_institution.html.erb 0 → 100644
... ... @@ -0,0 +1,8 @@
  1 +<% if user_rating.comment and user_rating.comment.institution %>
  2 +<div class="aditional-informations">
  3 + <div class="comments-user-institution">
  4 + <span>Institution :<span> <%= user_rating.comment.institution.name unless user_rating.comment.nil? %>
  5 + </div>
  6 +</div>
  7 +<% end %>
  8 +
... ...
views/gov_user_plugin/_institution.html.erb
... ... @@ -24,10 +24,7 @@
24 24  
25 25 <div>
26 26 <%= labelled_form_for :community, :url => {:action=>"new_institution"}, :html => { :multipart => true, :id=>"institution_form" } do |f| %>
27   - <div class="fields-required">
28   - <span class="errorExplanation"><%= required_fields_message %></span>
29   - </div>
30   - <br/>
  27 + <%= required_fields_message %>
31 28 <%= hidden_field_tag "edit_institution_page", false %>
32 29 <%= fields_for :institutions do |inst| %>
33 30 <span class=''>
... ... @@ -114,7 +111,6 @@
114 111 <% end %>
115 112 </div>
116 113 </span>
117   - <br />
118 114  
119 115 <% if @url_token == "create_institution_admin" %>
120 116 <%= submit_button :save, _('Save') %>
... ...
views/gov_user_plugin_myprofile/edit_institution.html.erb
... ... @@ -23,7 +23,6 @@
23 23 <div class="fields-required">
24 24 <span class="errorExplanation"><%= _("All fields with (*) are mandatory") %></span>
25 25 </div>
26   - <br/>
27 26 <%= labelled_form_for :community,:html => { :multipart => true, :id=>"institution_form" } do |f| %>
28 27 <%= hidden_field_tag "edit_institution_page", true %>
29 28 <%= fields_for :institutions do |inst| %>
... ... @@ -111,7 +110,6 @@
111 110 <% end %>
112 111 </div>
113 112 </span>
114   - <br />
115 113  
116 114 <%= submit_button :save, _('Save') %>
117 115 <% end %>
... ...