Merge branch 'master' into updated-gems
Conflicts: Gemfile.lock
This commit is contained in:
commit
0abb63279f
55 changed files with 2898 additions and 136 deletions
|
|
@ -209,7 +209,7 @@ class ArticlesController < ApplicationController
|
|||
|
||||
# fills a form whith values of the selected shared_article
|
||||
def import
|
||||
@article = SharedArticle.find(params[:shared_article_id]).build_new_article
|
||||
@article = SharedArticle.find(params[:shared_article_id]).build_new_article(@supplier)
|
||||
render :action => 'new', :layout => false
|
||||
end
|
||||
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ class SuppliersController < ApplicationController
|
|||
def new
|
||||
if params[:shared_supplier_id]
|
||||
shared_supplier = SharedSupplier.find(params[:shared_supplier_id])
|
||||
@supplier = shared_supplier.build_supplier(shared_supplier.autofill_attributes)
|
||||
@supplier = shared_supplier.suppliers.new(shared_supplier.autofill_attributes)
|
||||
else
|
||||
@supplier = Supplier.new
|
||||
end
|
||||
|
|
|
|||
|
|
@ -20,11 +20,17 @@ class OrderFax < OrderPdf
|
|||
move_down 5
|
||||
text "#{contact[:zip_code]} #{contact[:city]}", size: 9, align: :right
|
||||
move_down 5
|
||||
text "#{I18n.t('simple_form.labels.supplier.customer_number')}: #{@order.supplier.try(:customer_number)}", size: 9, align: :right
|
||||
move_down 5
|
||||
text "#{I18n.t('simple_form.labels.supplier.phone')}: #{contact[:phone]}", size: 9, align: :right
|
||||
move_down 5
|
||||
text "#{I18n.t('simple_form.labels.supplier.email')}: #{contact[:email]}", size: 9, align: :right
|
||||
unless @order.supplier.try(:customer_number).blank?
|
||||
text "#{I18n.t('simple_form.labels.supplier.customer_number')}: #{@order.supplier[:customer_number]}", size: 9, align: :right
|
||||
move_down 5
|
||||
end
|
||||
unless contact[:phone].blank?
|
||||
text "#{I18n.t('simple_form.labels.supplier.phone')}: #{contact[:phone]}", size: 9, align: :right
|
||||
move_down 5
|
||||
end
|
||||
unless contact[:email].blank?
|
||||
text "#{I18n.t('simple_form.labels.supplier.email')}: #{contact[:email]}", size: 9, align: :right
|
||||
end
|
||||
end
|
||||
|
||||
# Recipient
|
||||
|
|
@ -32,8 +38,10 @@ class OrderFax < OrderPdf
|
|||
text @order.name
|
||||
move_down 5
|
||||
text @order.supplier.try(:address).to_s
|
||||
move_down 5
|
||||
text "#{I18n.t('simple_form.labels.supplier.fax')}: #{@order.supplier.try(:fax)}"
|
||||
unless @order.supplier.try(:fax).blank?
|
||||
move_down 5
|
||||
text "#{I18n.t('simple_form.labels.supplier.fax')}: #{@order.supplier[:fax]}"
|
||||
end
|
||||
end
|
||||
|
||||
move_down 5
|
||||
|
|
@ -42,25 +50,37 @@ class OrderFax < OrderPdf
|
|||
move_down 10
|
||||
text "#{I18n.t('simple_form.labels.delivery.delivered_on')}:"
|
||||
move_down 10
|
||||
text "#{I18n.t('simple_form.labels.supplier.contact_person')}: #{@order.supplier.try(:contact_person)}"
|
||||
move_down 10
|
||||
unless @order.supplier.try(:contact_person).blank?
|
||||
text "#{I18n.t('simple_form.labels.supplier.contact_person')}: #{@order.supplier[:contact_person]}"
|
||||
move_down 10
|
||||
end
|
||||
|
||||
# Articles
|
||||
total = 0
|
||||
data = [I18n.t('documents.order_fax.rows')]
|
||||
data += @order.order_articles.ordered.all(include: :article).collect do |a|
|
||||
subtotal = a.units_to_order * a.price.unit_quantity * a.price.price
|
||||
total += subtotal
|
||||
[a.article.order_number,
|
||||
a.units_to_order,
|
||||
a.article.name,
|
||||
a.price.unit_quantity,
|
||||
a.article.unit,
|
||||
a.price.price]
|
||||
number_to_currency(a.price.price),
|
||||
number_to_currency(subtotal)]
|
||||
end
|
||||
data << [I18n.t('documents.order_fax.total'), nil, nil, nil, nil, nil, number_to_currency(total)]
|
||||
table data, cell_style: {size: 8, overflow: :shrink_to_fit} do |table|
|
||||
table.header = true
|
||||
table.cells.border_width = 1
|
||||
table.cells.border_color = '666666'
|
||||
|
||||
table.row(0).border_bottom_width = 2
|
||||
table.columns(1).align = :right
|
||||
table.columns(3..5).align = :right
|
||||
table.columns(3..6).align = :right
|
||||
table.row(data.length-1).columns(0..5).borders = [:top, :bottom]
|
||||
table.row(data.length-1).columns(0).borders = [:top, :bottom, :left]
|
||||
table.row(data.length-1).border_top_width = 2
|
||||
end
|
||||
#font_size: 8,
|
||||
#vertical_padding: 3,
|
||||
|
|
|
|||
6
app/helpers/suppliers_helper.rb
Normal file
6
app/helpers/suppliers_helper.rb
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
module SuppliersHelper
|
||||
|
||||
def associated_supplier_names(shared_supplier)
|
||||
"(#{shared_supplier.suppliers.map(&:name).join(', ')})"
|
||||
end
|
||||
end
|
||||
|
|
@ -7,8 +7,8 @@ class SharedArticle < ActiveRecord::Base
|
|||
|
||||
belongs_to :shared_supplier, :foreign_key => :supplier_id
|
||||
|
||||
def build_new_article
|
||||
shared_supplier.supplier.articles.build(
|
||||
def build_new_article(supplier)
|
||||
supplier.articles.build(
|
||||
:name => name,
|
||||
:unit => unit,
|
||||
:note => note,
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ class SharedSupplier < ActiveRecord::Base
|
|||
# set correct table_name in external DB
|
||||
self.table_name = 'suppliers'
|
||||
|
||||
has_one :supplier
|
||||
has_many :suppliers
|
||||
has_many :shared_articles, :foreign_key => :supplier_id
|
||||
|
||||
# These set of attributes are used to autofill attributes of new supplier,
|
||||
|
|
|
|||
|
|
@ -13,11 +13,9 @@ class Supplier < ActiveRecord::Base
|
|||
:delivery_days, :order_howto, :note, :shared_supplier_id, :min_order_quantity
|
||||
|
||||
validates :name, :presence => true, :length => { :in => 4..30 }
|
||||
validates :phone, :presence => true, :length => { :in => 8..20 }
|
||||
validates :phone, :presence => true, :length => { :in => 8..25 }
|
||||
validates :address, :presence => true, :length => { :in => 8..50 }
|
||||
validates_length_of :order_howto, :note, maximum: 250
|
||||
validates_length_of :phone, :in => 8..20
|
||||
validates_length_of :address, :in => 8..50
|
||||
validate :uniqueness_of_name
|
||||
|
||||
scope :undeleted, -> { where(deleted_at: nil) }
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class User < ActiveRecord::Base
|
|||
end
|
||||
|
||||
def receive_email?
|
||||
settings.messages['send_as_email'] == "1" && email.present?
|
||||
settings.messages['send_as_email'] && email.present?
|
||||
end
|
||||
|
||||
# Sets the user's password. It will be stored encrypted along with a random salt.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ class Workgroup < Group
|
|||
|
||||
has_many :tasks
|
||||
# returns all non-finished tasks
|
||||
has_many :open_tasks, :class_name => 'Task', :conditions => ['done = ?', false], :order => 'due_date ASC'
|
||||
has_many :open_tasks, :class_name => 'Task', :conditions => ['done = ?', false], order: 'due_date ASC, name ASC'
|
||||
|
||||
validates_uniqueness_of :name
|
||||
validate :last_admin_on_earth, :on => :update
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
.well.well-small
|
||||
%h3= t('.notes_and_journal')
|
||||
#note
|
||||
- unless @order.note.empty?
|
||||
- unless @order.note.blank?
|
||||
= simple_format @order.note
|
||||
- else
|
||||
%p= t('.comment_on_transaction')
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
%thead
|
||||
%tr
|
||||
%th= sort_link_helper t('.name'), "name", :per_page => @per_page
|
||||
%th Kontakt
|
||||
%th= t '.contact'
|
||||
%th.numeric= sort_link_helper t('.account_balance'), "account_balance", :per_page => @per_page
|
||||
%th
|
||||
%tbody
|
||||
|
|
@ -17,4 +17,4 @@
|
|||
%td
|
||||
= link_to t('.new_transaction'), new_finance_ordergroup_transaction_path(ordergroup), class: 'btn btn-mini'
|
||||
= link_to t('.account_statement'), finance_ordergroup_transactions_path(ordergroup), class: 'btn btn-mini'
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
%pre
|
||||
* #{t '.help.list_item_1'}
|
||||
%pre
|
||||
** #{t '.help_list_item_2'}
|
||||
** #{t '.help.list_item_2'}
|
||||
%tr
|
||||
%td= t '.help.ordered_list'
|
||||
%td
|
||||
|
|
|
|||
|
|
@ -4,4 +4,4 @@
|
|||
= f.input :date
|
||||
= f.input :note
|
||||
= f.submit
|
||||
= link_to t('ui.cancel'), stock_takings_path
|
||||
= link_to t('ui.or_cancel'), stock_takings_path
|
||||
|
|
|
|||
|
|
@ -14,4 +14,4 @@
|
|||
= render :partial => 'stock_change', :collection => @stock_taking.stock_changes
|
||||
.form-actions
|
||||
= f.submit class: 'btn'
|
||||
= link_to t('ui.cancel'), stock_takings_path
|
||||
= link_to t('ui.or_cancel'), stock_takings_path
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
- title "Lager (#{StockArticle.available.count})"
|
||||
- title t('.title', article_count: StockArticle.available.count)
|
||||
- content_for :javascript do
|
||||
:javascript
|
||||
$(function() {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,9 @@
|
|||
%td= shared_supplier.note
|
||||
%td= shared_supplier.delivery_days
|
||||
%td
|
||||
- if shared_supplier.supplier
|
||||
- if shared_supplier.suppliers.any?
|
||||
%i.icon-ok
|
||||
= associated_supplier_names(shared_supplier)
|
||||
= link_to t('.subscribe_again'), new_supplier_path(:shared_supplier_id => shared_supplier), class: 'btn'
|
||||
- else
|
||||
= link_to t('.subscribe'), new_supplier_path(:shared_supplier_id => shared_supplier), class: 'btn'
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
- content_for :sidebar do
|
||||
.well.well-small
|
||||
%ul.nav.nav-list
|
||||
%li.nav-header Seiten
|
||||
%li.nav-header= t '.pages'
|
||||
%li= link_to t('.my_tasks'), user_tasks_path
|
||||
%li= link_to t('.all_tasks'), tasks_path
|
||||
%li= link_to t('.archive'), archive_tasks_path
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
- title "Meine Aufgaben"
|
||||
- title t('.title')
|
||||
= render 'nav'
|
||||
|
||||
- unless @unaccepted_tasks.empty?
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue