Merge branch 'master' into datagrid
This commit is contained in:
commit
079c1ea4d0
10 changed files with 58 additions and 23 deletions
|
@ -17,7 +17,11 @@
|
||||||
//= require_tree .
|
//= require_tree .
|
||||||
|
|
||||||
ready = function() {
|
ready = function() {
|
||||||
$(".select2-selector").select2();
|
$(".select2-selector").select2({
|
||||||
|
width: 'resolve',
|
||||||
|
allowClear: true,
|
||||||
|
placeholder: "Ontvanger"
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(ready)
|
$(document).ready(ready)
|
||||||
|
|
|
@ -43,3 +43,23 @@
|
||||||
background-color: rgb(83, 180, 79);
|
background-color: rgb(83, 180, 79);
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fieldset.pure-group-inline {
|
||||||
|
display: inline-block;
|
||||||
|
.pure-group-addon {
|
||||||
|
padding: .5em .6em;
|
||||||
|
box-shadow: inset 0 1px 3px #ddd;
|
||||||
|
border: 1px solid #ccc;
|
||||||
|
white-space: nowrap;
|
||||||
|
border-collapse: separate;
|
||||||
|
margin-left: -4px;
|
||||||
|
&:last-child {
|
||||||
|
border-radius: 0 4px 4px 0;
|
||||||
|
}
|
||||||
|
&:first-child {
|
||||||
|
margin-left: 0;
|
||||||
|
border-radius: 4px 0 0 4px;
|
||||||
|
border-right: 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,3 +1,6 @@
|
||||||
// Place all the styles related to the transactions controller here.
|
// Place all the styles related to the transactions controller here.
|
||||||
// They will automatically be included in application.css.
|
// They will automatically be included in application.css.
|
||||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||||
|
.price {
|
||||||
|
width: 100px;
|
||||||
|
}
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
// Place all the styles related to the users controller here.
|
// Place all the styles related to the users controller here.
|
||||||
// They will automatically be included in application.css.
|
// They will automatically be included in application.css.
|
||||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||||
|
.euro:before { content:"\20AC"; }
|
|
@ -12,7 +12,7 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_client
|
def current_client
|
||||||
@current_client ||= Client.find_by key: request.headers["X_API_KEY"]
|
@current_client ||= Client.find_by key: (request.headers["X_API_KEY"] || request.headers["HTTP_X_API_KEY"])
|
||||||
end
|
end
|
||||||
|
|
||||||
def current_ability
|
def current_ability
|
||||||
|
|
|
@ -19,19 +19,16 @@ class TransactionsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def new
|
|
||||||
@transaction = Transaction.new
|
|
||||||
end
|
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@transaction = Transaction.new(transaction_params)
|
@transaction = Transaction.new(transaction_params)
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html do
|
format.html do
|
||||||
|
@user = current_user
|
||||||
if @transaction.save
|
if @transaction.save
|
||||||
flash[:success] = "Transaction created"
|
flash[:success] = "Transaction created"
|
||||||
redirect_to new_transaction_path
|
redirect_to current_user
|
||||||
else
|
else
|
||||||
render 'new'
|
render "users/show"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -51,8 +48,13 @@ class TransactionsController < ApplicationController
|
||||||
debtor: User.find_by(name: t[:debtor]) || User.zeus,
|
debtor: User.find_by(name: t[:debtor]) || User.zeus,
|
||||||
creditor: User.find_by(name: t[:creditor]) || User.zeus,
|
creditor: User.find_by(name: t[:creditor]) || User.zeus,
|
||||||
issuer: current_client || current_user,
|
issuer: current_client || current_user,
|
||||||
amount: (t[:euros].to_f*100 + t[:cents].to_f).to_i,
|
amount: (float(t[:euros]) * 100 + float(t[:cents])).to_i,
|
||||||
message: t[:message]
|
message: t[:message]
|
||||||
}
|
}
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def float arg
|
||||||
|
if arg.is_a? String then arg.sub!(',', '.') end
|
||||||
|
arg.to_f
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -3,6 +3,7 @@ class UsersController < ApplicationController
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@user = User.find(params[:id])
|
@user = User.find(params[:id])
|
||||||
|
@transaction = Transaction.new
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
format.html
|
format.html
|
||||||
end
|
end
|
||||||
|
|
17
app/views/transactions/_new.html.haml
Normal file
17
app/views/transactions/_new.html.haml
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
= render 'partials/form_errors', object: @transaction
|
||||||
|
= form_for @transaction, html: { class: "pure-form" } do |f|
|
||||||
|
- if current_user.penning
|
||||||
|
= f.collection_select :debtor, User.all, :name, :name,
|
||||||
|
{ selected: @transaction.debtor.try(:name) || current_user.name }, { class: 'select2-selector'}
|
||||||
|
- else
|
||||||
|
= f.hidden_field :debtor, value: current_user.name
|
||||||
|
= f.select :creditor,
|
||||||
|
options_from_collection_for_select(User.all.order(:name), :name, :name),
|
||||||
|
{ include_blank: true },
|
||||||
|
{ class: 'select2-selector', size: 50, required: true }
|
||||||
|
= f.text_field :message, required: true, placeholder: "Message", size: 75
|
||||||
|
%fieldset.pure-group-inline
|
||||||
|
%span.euro.pure-group-addon
|
||||||
|
= f.number_field :euros, value: (@transaction.amount.zero? ? nil : @transaction.amount/100),
|
||||||
|
placeholder: "Bedrag", step: 0.01, min: 0.01, class: "pure-group-addon price", size: 20, required: true
|
||||||
|
= f.submit "Send it!", class: "pure-button pure-button-primary"
|
|
@ -1,13 +0,0 @@
|
||||||
= render 'partials/form_errors', object: @transaction
|
|
||||||
= simple_form_for @transaction do |f|
|
|
||||||
- if current_user.penning
|
|
||||||
= f.collection_select :debtor, User.all, :name, :name,
|
|
||||||
{ selected: @transaction.debtor.try(:name) || current_user.name }, { class: 'select2-selector'}
|
|
||||||
- else
|
|
||||||
= f.hidden_field :debtor, value: current_user.name
|
|
||||||
= f.collection_select :creditor, User.all, :name, :name,
|
|
||||||
{ selected: @transaction.creditor.try(:name) || User.zeus.name }, { class: 'select2-selector' }
|
|
||||||
= f.input :message, required: true
|
|
||||||
= f.input :euros, input_html: { value: @transaction.amount/100}
|
|
||||||
.pure-controls
|
|
||||||
= f.button :submit, "Send it!"
|
|
|
@ -1,5 +1,5 @@
|
||||||
%h2= @user.name
|
%h2= @user.name
|
||||||
|
= render 'transactions/new'
|
||||||
%table#transactions.pure-table.pure-table-striped{data: { source: user_path(@user) }}
|
%table#transactions.pure-table.pure-table-striped{data: { source: user_path(@user) }}
|
||||||
%thead
|
%thead
|
||||||
%tr
|
%tr
|
||||||
|
|
Loading…
Reference in a new issue