kaui 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/app/controllers/kaui/accounts_controller.rb +4 -10
- data/app/helpers/kaui/date_helper.rb +2 -2
- data/app/helpers/kaui/killbill_helper.rb +2 -2
- data/app/models/kaui/payment_method.rb +45 -0
- data/app/models/kaui/plugin_info.rb +16 -0
- data/app/models/kaui/plugin_info_property.rb +13 -0
- data/app/views/kaui/account_timelines/show.html.erb +1 -1
- data/app/views/kaui/accounts/show.html.erb +4 -2
- data/app/views/kaui/bundles/show.html.erb +1 -1
- data/app/views/kaui/payment_methods/_payment_methods_table.html.erb +12 -13
- data/app/views/kaui/subscriptions/_subscriptions_table.html.erb +2 -2
- data/config/initializers/time_formats.rb +3 -1
- data/lib/kaui/version.rb +1 -1
- metadata +7 -4
@@ -19,12 +19,7 @@ class Kaui::AccountsController < Kaui::EngineController
|
|
19
19
|
end
|
20
20
|
|
21
21
|
if @account.present?
|
22
|
-
|
23
|
-
# @payment_methods = Kaui::KillbillHelper.get_payment_methods(@account_id)
|
24
|
-
# unless @payment_methods.is_a?(Array)
|
25
|
-
# flash[:error] = "No payment methods for account #{@account_id}"
|
26
|
-
# redirect_to :action => :index
|
27
|
-
# end
|
22
|
+
@payment_methods = Kaui::KillbillHelper.get_payment_methods(@account_id)
|
28
23
|
else
|
29
24
|
flash[:error] = "Account #{@account_id} not found"
|
30
25
|
redirect_to :action => :index
|
@@ -49,16 +44,15 @@ class Kaui::AccountsController < Kaui::EngineController
|
|
49
44
|
end
|
50
45
|
|
51
46
|
def set_default_payment_method
|
52
|
-
@
|
47
|
+
@account_id = params[:id]
|
53
48
|
# TODO
|
54
49
|
redirect_to :back
|
55
50
|
end
|
56
51
|
|
57
52
|
def delete_payment_method
|
58
|
-
@external_key = params[:id]
|
59
53
|
@payment_method_id = params[:payment_method_id]
|
60
|
-
if @
|
61
|
-
Kaui::KillbillHelper::delete_payment_method(@
|
54
|
+
if @payment_method_id.present?
|
55
|
+
Kaui::KillbillHelper::delete_payment_method(@payment_method_id)
|
62
56
|
else
|
63
57
|
flash[:notice] = "No id given"
|
64
58
|
end
|
@@ -2,8 +2,8 @@ module Kaui
|
|
2
2
|
module DateHelper
|
3
3
|
def format_date(date)
|
4
4
|
# TODO: make timezone configurable
|
5
|
-
parsed_date = DateTime.parse(date).in_time_zone("Pacific Time (US & Canada)")
|
6
|
-
parsed_date.to_s(:
|
5
|
+
parsed_date = DateTime.parse(date).in_time_zone(ActiveSupport::TimeZone::ZONES_MAP["Pacific Time (US & Canada)"])
|
6
|
+
parsed_date.to_s(:date_only)
|
7
7
|
end
|
8
8
|
end
|
9
9
|
end
|
@@ -297,7 +297,7 @@ module Kaui
|
|
297
297
|
def self.delete_payment_method(account_id, payment_method_id, current_user = nil, reason = nil, comment = nil)
|
298
298
|
begin
|
299
299
|
call_killbill :delete,
|
300
|
-
"/1.0/accounts/#{account_id}/paymentMethods/#{payment_method_id}",
|
300
|
+
"/1.0/kb/accounts/#{account_id}/paymentMethods/#{payment_method_id}",
|
301
301
|
"X-Killbill-CreatedBy" => current_user,
|
302
302
|
"X-Killbill-Reason" => "#{reason}",
|
303
303
|
"X-Killbill-Comment" => "#{comment}"
|
@@ -308,7 +308,7 @@ module Kaui
|
|
308
308
|
|
309
309
|
def self.get_payment_methods(account_id)
|
310
310
|
begin
|
311
|
-
data = call_killbill :get, "/1.0/accounts/#{account_id}/paymentMethods"
|
311
|
+
data = call_killbill :get, "/1.0/kb/accounts/#{account_id}/paymentMethods?withPluginInfo=true"
|
312
312
|
process_response(data, :multiple) {|json| Kaui::PaymentMethod.new(json) }
|
313
313
|
rescue => e
|
314
314
|
puts "#{$!}\n\t" + e.backtrace.join("\n\t")
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'active_model'
|
2
|
+
|
3
|
+
class Kaui::PaymentMethod < Kaui::Base
|
4
|
+
define_attr :account_id
|
5
|
+
define_attr :is_default
|
6
|
+
define_attr :payment_method_id
|
7
|
+
define_attr :plugin_name
|
8
|
+
has_one :plugin_info, Kaui::PluginInfo
|
9
|
+
|
10
|
+
def initialize(data = {})
|
11
|
+
super(:account_id => data['accountId'],
|
12
|
+
:is_default => data['isDefault'],
|
13
|
+
:payment_method_id => data['paymentMethodId'],
|
14
|
+
:plugin_name => data['pluginName'],
|
15
|
+
:plugin_info => data['pluginInfo'])
|
16
|
+
end
|
17
|
+
|
18
|
+
def card_type
|
19
|
+
plugin_info.property("cardType") if plugin_info.present?
|
20
|
+
end
|
21
|
+
|
22
|
+
def type
|
23
|
+
plugin_info.property("type") if plugin_info.present?
|
24
|
+
end
|
25
|
+
|
26
|
+
def mask_number
|
27
|
+
plugin_info.property("maskNumber") if plugin_info.present?
|
28
|
+
end
|
29
|
+
|
30
|
+
def card_holder_name
|
31
|
+
plugin_info.property("cardHolderName") if plugin_info.present?
|
32
|
+
end
|
33
|
+
|
34
|
+
def expiration_dt
|
35
|
+
plugin_info.property("expirationDate") if plugin_info.present?
|
36
|
+
end
|
37
|
+
|
38
|
+
def baid
|
39
|
+
plugin_info.property("baid") if plugin_info.present?
|
40
|
+
end
|
41
|
+
|
42
|
+
def email
|
43
|
+
plugin_info.property("email") if plugin_info.present?
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
require 'active_model'
|
2
|
+
|
3
|
+
class Kaui::PluginInfo < Kaui::Base
|
4
|
+
define_attr :external_payment_id
|
5
|
+
has_many :properties, Kaui::PluginInfoProperty
|
6
|
+
|
7
|
+
def initialize(data = {})
|
8
|
+
super(:external_payment_id => data['externalPaymentId'],
|
9
|
+
:properties => data['properties'])
|
10
|
+
end
|
11
|
+
|
12
|
+
def property(key)
|
13
|
+
prop = properties.find { |prop| prop.key == key } unless properties.nil?
|
14
|
+
prop.value unless prop.nil?
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'active_model'
|
2
|
+
|
3
|
+
class Kaui::PluginInfoProperty < Kaui::Base
|
4
|
+
define_attr :key
|
5
|
+
define_attr :value
|
6
|
+
define_attr :is_updatable
|
7
|
+
|
8
|
+
def initialize(data = {})
|
9
|
+
super(:key => data['key'],
|
10
|
+
:value => data['value'],
|
11
|
+
:is_updatable => data['isUpdatable'])
|
12
|
+
end
|
13
|
+
end
|
@@ -17,7 +17,7 @@
|
|
17
17
|
<th class="sort-title-string">Requested Date</th>
|
18
18
|
<th class="data-table-sort-desc sort-title-string">Effective Date</th>
|
19
19
|
<th>Bundle Name</th>
|
20
|
-
<th>Event Type</th>
|
20
|
+
<th class="data-table-sort-desc">Event Type</th>
|
21
21
|
<th>Details</th>
|
22
22
|
<th>Reason Code / Comments</th>
|
23
23
|
<th>Actions</th>
|
@@ -29,10 +29,12 @@
|
|
29
29
|
<%= render :partial => "kaui/tags/tags_table",
|
30
30
|
:locals => { :tags => @tags, :tags_url_or_path => kaui_engine.edit_account_tags_path(:params => { :account_id => @account.account_id }) } %>
|
31
31
|
</dl>
|
32
|
+
<% if @subscriptions.present? %>
|
33
|
+
<%= render :partial => "kaui/subscriptions/subscriptions_table", :locals => { :subscriptions => @subscriptions } %>
|
34
|
+
<% end %>
|
32
35
|
<% if @payment_methods.present? %>
|
33
|
-
<%= render :partial => "kaui/
|
36
|
+
<%= render :partial => "kaui/payment_methods/payment_methods_table", :locals => { :payment_methods => @payment_methods } %>
|
34
37
|
<% end %>
|
35
|
-
|
36
38
|
<% else %>
|
37
39
|
<p>Account not found</p>
|
38
40
|
<% end %>
|
@@ -6,7 +6,7 @@
|
|
6
6
|
<dt>Bundle key:</dt>
|
7
7
|
<dd><%= @bundle.external_key %> </dd>
|
8
8
|
<% if @subscriptions.present? %>
|
9
|
-
<%= render :partial => "kaui/subscriptions/subscriptions_table" %>
|
9
|
+
<%= render :partial => "kaui/subscriptions/subscriptions_table", :locals => { :subscriptions => @subscriptions } %>
|
10
10
|
<% end %>
|
11
11
|
<% else %>
|
12
12
|
<p>Bundle not found</p>
|
@@ -4,31 +4,30 @@
|
|
4
4
|
<table class="table table-condensed table-striped">
|
5
5
|
<thead>
|
6
6
|
<tr>
|
7
|
+
<th>Type</th>
|
7
8
|
<th>Card Type</th>
|
9
|
+
<th>Account Name</th>
|
8
10
|
<th>Mask Number / Baid</th>
|
9
11
|
<th>Expiration Date</th>
|
10
12
|
<th>Default Method</th>
|
11
13
|
<th>Actions</th>
|
12
|
-
</tr>
|
14
|
+
</tr>
|
13
15
|
</thead>
|
14
16
|
<tbody>
|
15
|
-
<% if
|
16
|
-
<%
|
17
|
+
<% if payment_methods.present? && !payment_methods.nil? %>
|
18
|
+
<% payment_methods.each do |payment_method| %>
|
17
19
|
<tr>
|
18
|
-
<td><%= payment_method
|
19
|
-
<td><%= payment_method
|
20
|
-
<td><%= payment_method
|
20
|
+
<td><%= payment_method.type %></a></td>
|
21
|
+
<td><%= payment_method.card_type %></a></td>
|
22
|
+
<td><%= payment_method.card_holder_name %><%= payment_method.email %></a></td>
|
23
|
+
<td><%= payment_method.mask_number %><%= payment_method.baid %></td>
|
24
|
+
<td><%= payment_method.expiration_dt %></td>
|
21
25
|
<td>
|
22
|
-
<% if payment_method
|
26
|
+
<% if payment_method.is_default %>
|
23
27
|
<i class="icon-ok"></i>
|
24
|
-
<% else %>
|
25
|
-
<%= link_to "Make Default", kaui_engine.set_default_payment_method_account_path(:id => @account_id, :params => { :payment_method_id => payment_method['id'] }), :method => "PUT", :confirm => "Are you sure ?", :class => "btn btn-mini" %>
|
26
28
|
<% end %>
|
27
|
-
</td>
|
29
|
+
</td>
|
28
30
|
<td>
|
29
|
-
<% unless payment_method['defaultMethod'] %>
|
30
|
-
<%= link_to "Delete", kaui_engine.delete_payment_method_account_path(:id => @account_id, :params => { :payment_method_id => payment_method['id'] }), :method => "DELETE", :confirm => "Are you sure ?", :class => "btn btn-mini" %>
|
31
|
-
<% end %>
|
32
31
|
</td>
|
33
32
|
</tr>
|
34
33
|
<% end %>
|
@@ -14,8 +14,8 @@
|
|
14
14
|
</tr>
|
15
15
|
</thead>
|
16
16
|
<tbody>
|
17
|
-
<% if
|
18
|
-
<%
|
17
|
+
<% if subscriptions.present? && !subscriptions.nil? %>
|
18
|
+
<% subscriptions.each do |sub| %>
|
19
19
|
<tr>
|
20
20
|
<td><%= sub.product_category.downcase.capitalize if sub.product_category.present? %></td>
|
21
21
|
<td><%= sub.product_name.downcase.capitalize if sub.product_name.present? %></td>
|
data/lib/kaui/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kaui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 0.0.
|
9
|
+
- 6
|
10
|
+
version: 0.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alena Dudzinskaya
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-07-
|
18
|
+
date: 2012-07-26 00:00:00 Z
|
19
19
|
dependencies: []
|
20
20
|
|
21
21
|
description: Rails UI plugin for Killbill administration.
|
@@ -76,6 +76,9 @@ files:
|
|
76
76
|
- app/models/kaui/invoice_item.rb
|
77
77
|
- app/models/kaui/payment.rb
|
78
78
|
- app/models/kaui/payment_attempt.rb
|
79
|
+
- app/models/kaui/payment_method.rb
|
80
|
+
- app/models/kaui/plugin_info.rb
|
81
|
+
- app/models/kaui/plugin_info_property.rb
|
79
82
|
- app/models/kaui/product.rb
|
80
83
|
- app/models/kaui/refund.rb
|
81
84
|
- app/models/kaui/subscription.rb
|