From fdb31203d3433bf8c295e050da1f5ebc39460370 Mon Sep 17 00:00:00 2001 From: Marc Anguera Insa Date: Sat, 12 May 2018 23:11:53 +0200 Subject: [PATCH 1/2] minor organizations code/tests clean up --- app/controllers/organizations_controller.rb | 19 +++--- app/models/organization.rb | 12 +--- app/views/organizations/_form.html.erb | 1 + app/views/organizations/edit.html.erb | 7 --- app/views/organizations/index.html.erb | 2 +- spec/models/organization_spec.rb | 66 ++++++++++++--------- 6 files changed, 49 insertions(+), 58 deletions(-) diff --git a/app/controllers/organizations_controller.rb b/app/controllers/organizations_controller.rb index 1d84b947d..a08ac9e25 100644 --- a/app/controllers/organizations_controller.rb +++ b/app/controllers/organizations_controller.rb @@ -1,20 +1,12 @@ class OrganizationsController < ApplicationController - before_filter :load_resource - - def load_resource - if params[:id] - @organization = Organization.find(params[:id]) - else - @organizations = Organization.all - end - end + before_filter :load_resource, except: [:new, :index, :create] def new @organization = Organization.new end def index - @organizations = @organizations.matching(params[:q]) if params[:q].present? + @organizations = Organization.all end def show @@ -27,7 +19,8 @@ def show end def create - @organization = @organizations.build organization_params + @organization = Organization.new(organization_params) + if @organization.save redirect_to @organization, status: :created else @@ -57,6 +50,10 @@ def set_current private + def load_resource + @organization = Organization.find(params[:id]) + end + def organization_params params[:organization].permit(*%w[name theme email phone web public_opening_times description address diff --git a/app/models/organization.rb b/app/models/organization.rb index 47d81c789..9f664d9b6 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -2,11 +2,7 @@ class Organization < ActiveRecord::Base has_many :members, dependent: :destroy has_many :users, -> { order "members.created_at DESC" }, through: :members has_many :all_accounts, class_name: "Account", inverse_of: :organization - has_many :all_movements, class_name: "Movement", through: :all_accounts, source: :movements do - def with_transfer - joins(transfer: :movements) - end - end + has_many :all_movements, class_name: "Movement", through: :all_accounts, source: :movements has_many :all_transfers, class_name: "Transfer", through: :all_movements, source: :transfer has_one :account, as: :accountable has_many :member_accounts, through: :members, source: :account @@ -15,11 +11,7 @@ def with_transfer has_many :inquiries has_many :documents, as: :documentable - scope :matching, ->(str) { - where(Organization.arel_table[:name].matches("%#{str}%")) - } - - validates :name, uniqueness: true + validates :name, presence: true, uniqueness: true before_validation :ensure_url after_create :create_account diff --git a/app/views/organizations/_form.html.erb b/app/views/organizations/_form.html.erb index 47d4af54e..56bfbbb17 100644 --- a/app/views/organizations/_form.html.erb +++ b/app/views/organizations/_form.html.erb @@ -1,3 +1,4 @@ +<%= show_error_messages!(@organization) %> <%= simple_form_for @organization do |f| %> <%= f.input :name %> <%= f.input :email %> diff --git a/app/views/organizations/edit.html.erb b/app/views/organizations/edit.html.erb index 958a4182e..49919e276 100644 --- a/app/views/organizations/edit.html.erb +++ b/app/views/organizations/edit.html.erb @@ -1,10 +1,3 @@ -<% if @organization.errors.present? %> - <% @organization.errors.full_messages.each do |msg| %> - - <% end %> -<% end %>

<%= link_to @organization, organization_path(@organization) %> <%= t 'global.edit' %> diff --git a/app/views/organizations/index.html.erb b/app/views/organizations/index.html.erb index 896027ab0..11c0c2fc6 100644 --- a/app/views/organizations/index.html.erb +++ b/app/views/organizations/index.html.erb @@ -2,7 +2,7 @@ <%= Organization.model_name.human(count: :many) %>

-