kaui 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (77) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +5 -29
  3. data/app/assets/javascripts/kaui/kaui.js +1 -1
  4. data/app/assets/stylesheets/kaui/account.less +9 -1
  5. data/app/assets/stylesheets/kaui/common.less +46 -3
  6. data/app/controllers/kaui/accounts_controller.rb +11 -15
  7. data/app/controllers/kaui/admin_tenants_controller.rb +77 -106
  8. data/app/controllers/kaui/audit_logs_controller.rb +3 -3
  9. data/app/controllers/kaui/bundles_controller.rb +4 -0
  10. data/app/controllers/kaui/engine_controller_util.rb +25 -17
  11. data/app/controllers/kaui/invoice_tags_controller.rb +28 -0
  12. data/app/controllers/kaui/invoices_controller.rb +65 -14
  13. data/app/controllers/kaui/payment_methods_controller.rb +14 -3
  14. data/app/controllers/kaui/sessions_controller.rb +6 -0
  15. data/app/controllers/kaui/subscriptions_controller.rb +13 -4
  16. data/app/helpers/kaui/account_helper.rb +10 -2
  17. data/app/helpers/kaui/payment_method_helper.rb +5 -3
  18. data/app/helpers/kaui/plugin_helper.rb +10 -49
  19. data/app/helpers/kaui/subscription_helper.rb +26 -9
  20. data/app/helpers/kaui/uuid_helper.rb +1 -0
  21. data/app/models/kaui/admin_tenant.rb +8 -84
  22. data/app/models/kaui/catalog.rb +28 -2
  23. data/app/models/kaui/tag.rb +1 -1
  24. data/app/views/kaui/account_emails/_form.html.erb +1 -1
  25. data/app/views/kaui/accounts/_billing_info.html.erb +4 -0
  26. data/app/views/kaui/accounts/_form.html.erb +1 -1
  27. data/app/views/kaui/accounts/_payment_methods.html.erb +3 -0
  28. data/app/views/kaui/accounts/index.html.erb +7 -4
  29. data/app/views/kaui/admin_tenants/_form_plugin_config.erb +59 -241
  30. data/app/views/kaui/admin_tenants/_show_catalog_simple.erb +2 -2
  31. data/app/views/kaui/admin_tenants/new_catalog.html.erb +16 -15
  32. data/app/views/kaui/bundles/_bundle_details.html.erb +12 -0
  33. data/app/views/kaui/bundles/index.html.erb +3 -14
  34. data/app/views/kaui/chargebacks/_form.html.erb +1 -1
  35. data/app/views/kaui/charges/_form.html.erb +1 -1
  36. data/app/views/kaui/invoice_tags/_form.html.erb +33 -0
  37. data/app/views/kaui/invoice_tags/_form_bar.html.erb +21 -0
  38. data/app/views/kaui/invoice_tags/edit.html.erb +10 -0
  39. data/app/views/kaui/invoices/_invoice_table.html.erb +30 -9
  40. data/app/views/kaui/invoices/index.html.erb +6 -4
  41. data/app/views/kaui/invoices/show.html.erb +11 -2
  42. data/app/views/kaui/layouts/kaui_flash.html.erb +8 -1
  43. data/app/views/kaui/payments/_form.html.erb +1 -1
  44. data/app/views/kaui/payments/_payment_table.html.erb +2 -2
  45. data/app/views/kaui/payments/index.html.erb +3 -1
  46. data/app/views/kaui/subscriptions/_edit_form.html.erb +1 -1
  47. data/app/views/kaui/subscriptions/_form.html.erb +1 -1
  48. data/app/views/kaui/subscriptions/_subscriptions_table.html.erb +3 -3
  49. data/config/routes.rb +6 -1
  50. data/lib/kaui.rb +55 -0
  51. data/lib/kaui/version.rb +1 -1
  52. data/test/dummy/config/database.yml +2 -2
  53. data/test/dummy/config/initializers/cookies_serializer.rb +1 -1
  54. data/test/dummy/config/initializers/money.rb +2 -0
  55. data/test/functional/kaui/account_emails_controller_test.rb +2 -2
  56. data/test/functional/kaui/account_tags_controller_test.rb +1 -1
  57. data/test/functional/kaui/accounts_controller_test.rb +4 -4
  58. data/test/functional/kaui/admin_tenants_controller_test.rb +3 -23
  59. data/test/functional/kaui/bundle_tags_controller_test.rb +1 -1
  60. data/test/functional/kaui/bundles_controller_test.rb +3 -3
  61. data/test/functional/kaui/chargebacks_controller_test.rb +2 -2
  62. data/test/functional/kaui/charges_controller_test.rb +2 -2
  63. data/test/functional/kaui/credits_controller_test.rb +5 -5
  64. data/test/functional/kaui/home_controller_test.rb +5 -5
  65. data/test/functional/kaui/invoice_items_controller_test.rb +3 -3
  66. data/test/functional/kaui/invoices_controller_test.rb +2 -2
  67. data/test/functional/kaui/refunds_controller_test.rb +2 -2
  68. data/test/functional/kaui/subscriptions_controller_test.rb +6 -6
  69. data/test/killbill_test_helper.rb +8 -6
  70. data/test/unit/helpers/kaui/payment_method_helper_test.rb +17 -0
  71. data/test/unit/kaui/account_test.rb +2 -2
  72. data/test/unit/kaui/admin_tenant_test.rb +10 -47
  73. data/test/unit/kaui/invoice_item_test.rb +1 -1
  74. data/test/unit/kaui/invoice_payment_test.rb +7 -7
  75. data/test/unit/kaui/invoice_test.rb +4 -4
  76. data/test/unit/kaui/payment_test.rb +7 -7
  77. metadata +110 -86
@@ -106,8 +106,8 @@
106
106
  plan['new_plan_currency_path'] = Routes.kaui_engine_admin_tenant_new_plan_currency_path(<%= @tenant.id %>, {plan_id: plan['plan_id']});
107
107
  plan['humanized_product_name'] = function(){
108
108
  return function (input, render) {
109
- var product_name = render(input);
110
- return product_name.toLowerCase().replace(/\b\w/g, function(l){ return l.toUpperCase() });
109
+ // Keep the product name as-is to avoid confusing with casing
110
+ return render(input);
111
111
  }
112
112
  }
113
113
 
@@ -11,7 +11,7 @@
11
11
  <div class="form-group" id="form_category">
12
12
  <%= f.label :product_category, 'Product Category', :class => 'col-sm-3 control-label' %>
13
13
  <div class="col-sm-4">
14
- <%= f.select :product_category, options_for_select(@product_categories.map {|p| [humanized_product_category(p), p] }, :Base), :class => 'form-control' %>
14
+ <%= f.select :product_category, options_for_select(@product_categories.map {|p| [humanized_product_category(p), p] }, @simple_plan.product_category), :class => 'form-control' %>
15
15
  </div>
16
16
  </div>
17
17
  <div class="form-group">
@@ -47,31 +47,31 @@
47
47
  <div class="form-group">
48
48
  <%= f.label :amount, 'Amount', :class => 'col-sm-3 control-label' %>
49
49
  <div class="col-sm-4">
50
- <%= f.number_field :amount, :class => 'form-control', :value => 0, :step => :any %>
50
+ <%= f.number_field :amount, :class => 'form-control', :step => :any %>
51
51
  </div>
52
52
  </div>
53
53
  <div class="form-group">
54
54
  <%= f.label :currency, 'Currency', :class => 'col-sm-3 control-label' %>
55
55
  <div class="col-sm-4">
56
- <%= f.select :currency, currencies, {:selected => 'USD'}, :class => 'form-control' %>
56
+ <%= f.select :currency, currencies, {:selected => @simple_plan.currency}, :class => 'form-control' %>
57
57
  </div>
58
58
  </div>
59
59
  <div class="form-group">
60
60
  <%= f.label :billing_period, 'Billing Period', :class => 'col-sm-3 control-label' %>
61
61
  <div class="col-sm-4">
62
- <%= f.select :billing_period, options_for_select(@billing_period.map {|bp| [humanized_billing_period(bp), bp] }, :MONTHLY), :class => 'form-control' %>
62
+ <%= f.select :billing_period, options_for_select(@billing_period.map {|bp| [humanized_billing_period(bp), bp] }, @simple_plan.billing_period), :class => 'form-control' %>
63
63
  </div>
64
64
  </div>
65
65
  <div class="form-group">
66
66
  <%= f.label :trial_length, 'Trial Length', :class => 'col-sm-3 control-label' %>
67
67
  <div class="col-sm-4">
68
- <%= f.number_field :trial_length, :class => 'form-control', :value => 0 %>
68
+ <%= f.number_field :trial_length, :class => 'form-control', :type => 'number', :min => 0, :step => 1 %>
69
69
  </div>
70
70
  </div>
71
71
  <div class="form-group">
72
72
  <%= f.label :trial_time_unit, 'Trial Time Unit', :class => 'col-sm-3 control-label' %>
73
73
  <div class="col-sm-4">
74
- <%= f.select :trial_time_unit, options_for_select(@time_units.map {|tu| [humanized_time_unit(tu), tu]}, :UNLIMITED), :class => 'form-control' %>
74
+ <%= f.select :trial_time_unit, options_for_select(@time_units.map {|tu| [humanized_time_unit(tu), tu]}, @simple_plan.trial_time_unit), :class => 'form-control' %>
75
75
  </div>
76
76
  </div>
77
77
  <div class="form-group">
@@ -111,15 +111,19 @@
111
111
 
112
112
  function known_products() {
113
113
  var result = [];
114
- var selected_category = $("#simple_plan_product_category option:selected" ).text();
115
- if (selected_category == 'Base') {
114
+ var selected_category = $("#simple_plan_product_category option:selected").val();
115
+ if (selected_category == 'BASE') {
116
116
  result = $('#simple_plan_product_name').attr('known_base');
117
- } else if (selected_category == 'Add_on') {
117
+ } else if (selected_category == 'ADD_ON') {
118
118
  result = $('#simple_plan_product_name').attr('known_ao');
119
119
  } else {
120
120
  result = $('#simple_plan_product_name').attr('known_std');
121
121
  }
122
- return result.split(",");
122
+ if (result) {
123
+ return result.split(",");
124
+ } else {
125
+ return [];
126
+ }
123
127
  }
124
128
 
125
129
  function switch_xml_config() {
@@ -128,7 +132,7 @@ function switch_xml_config() {
128
132
  }
129
133
 
130
134
  function recompute_available_base_products_for_ao() {
131
- if ($("#simple_plan_product_category option:selected" ).text() != 'Add_on') {
135
+ if ($("#simple_plan_product_category option:selected" ).val() != 'ADD_ON') {
132
136
  return;
133
137
  }
134
138
  var product_name = $('#simple_plan_product_name').val();
@@ -147,10 +151,7 @@ function recompute_available_base_products_for_ao() {
147
151
  }
148
152
 
149
153
  function display_available_base_products_for_ao() {
150
- /* Reset prodcut name value; known_products from auto completion will also be updated accordingly */
151
- $('#simple_plan_product_name').val('');
152
-
153
- if ($("#simple_plan_product_category option:selected" ).text() == 'Add_on') {
154
+ if ($("#simple_plan_product_category option:selected" ).val() == 'ADD_ON') {
154
155
  $('#form_base_products').show();
155
156
  } else {
156
157
  $('#form_base_products').hide();
@@ -0,0 +1,12 @@
1
+ <table class="transparent subtitle">
2
+ <tr>
3
+ <th>Bundle ID</th>
4
+ <td><%= bundle.bundle_id %></td>
5
+ </tr>
6
+ <% unless bundle.bundle_id == bundle.external_key %>
7
+ <tr>
8
+ <th>Bundle key</th>
9
+ <td><%= bundle.external_key %></td>
10
+ </tr>
11
+ <% end %>
12
+ </table>
@@ -10,19 +10,8 @@
10
10
 
11
11
  <% @bundles.each_with_index do |bundle, idx| %>
12
12
  <div class="row">
13
- <div class="col-md-5">
14
- <table class="transparent subtitle">
15
- <tr>
16
- <th>Bundle ID</th>
17
- <td><%= bundle.bundle_id %></td>
18
- </tr>
19
- <% unless bundle.bundle_id == bundle.external_key %>
20
- <tr>
21
- <th>Bundle key</th>
22
- <td><%= bundle.external_key %></td>
23
- </tr>
24
- <% end %>
25
- </table>
13
+ <div class="col-md-6">
14
+ <%= render :partial => Kaui.bundle_details_partial, :locals => { :bundle => bundle, :account => @account, :catalog => @catalog } %>
26
15
  </div>
27
16
  </div>
28
17
 
@@ -76,7 +65,7 @@
76
65
 
77
66
  <% if bundle.subscriptions.present? %>
78
67
  <div class="search">
79
- <%= render :partial => 'kaui/subscriptions/subscriptions_table', :locals => {:bundle => bundle, :account => @account} %>
68
+ <%= render :partial => 'kaui/subscriptions/subscriptions_table', :locals => {:bundle => bundle, :account => @account, :catalog => @catalog} %>
80
69
  </div>
81
70
  <% end %>
82
71
 
@@ -5,7 +5,7 @@
5
5
  <div class="form-group">
6
6
  <%= f.label :amount, 'Amount', :class => 'col-sm-2 control-label' %>
7
7
  <div class="col-sm-10">
8
- <%= f.number_field :amount, :id => 'chargeback_amount', :class => 'form-control' %>
8
+ <%= f.number_field :amount, :step => :any, :id => 'chargeback_amount', :class => 'form-control' %>
9
9
  <p class="help-block">Currency: <%= @chargeback.currency %></p>
10
10
  </div>
11
11
  </div>
@@ -15,7 +15,7 @@
15
15
  <div class="form-group">
16
16
  <%= f.label :amount, 'Amount', :class => 'col-sm-2 control-label' %>
17
17
  <div class="col-sm-10">
18
- <%= f.number_field :amount, :id => 'charge_amount', :class => 'form-control' %>
18
+ <%= f.number_field :amount, :step => :any, :id => 'charge_amount', :class => 'form-control' %>
19
19
  <% if @invoice.present? %>
20
20
  <p class="help-block">Currency: <%= @invoice.currency %></p>
21
21
  <% end %>
@@ -0,0 +1,33 @@
1
+ <%= form_tag update_invoice_tags_path, :class => 'form-horizontal' do %>
2
+ <%= hidden_field_tag :invoice_id, @invoice_id %>
3
+
4
+ <div class='form-group'>
5
+ <div class="col-sm-offset-2 col-sm-10">
6
+ <% @available_tags.each do |tag| %>
7
+ <div class="checkbox">
8
+ <label>
9
+ <%= check_box_tag "tag_#{tag.id}", tag.name, @tag_names.include?(tag.name) %>
10
+ <span class='tag-description' rel='tooltip' title='<%= tag.description %>'><%= tag.name %></span>
11
+ </label>
12
+ </div>
13
+ <% end %>
14
+ </div>
15
+ </div>
16
+ <div class="form-group">
17
+ <%= label_tag :comment, 'Comment', :class => 'col-sm-2 control-label' %>
18
+ <div class="col-sm-10">
19
+ <%= text_area_tag :comment, nil, :rows => 3, :class => 'form-control' %>
20
+ </div>
21
+ </div>
22
+ <div class="form-group">
23
+ <div class="col-sm-offset-2 col-sm-10">
24
+ <%= submit_tag 'Update', :class => 'btn btn-default' %>
25
+ </div>
26
+ </div>
27
+ <% end %>
28
+
29
+ <%= javascript_tag do %>
30
+ $(function() {
31
+ $(".tag-description").tooltip();
32
+ });
33
+ <% end %>
@@ -0,0 +1,21 @@
1
+ <% can_change_tags = can?(:add, Kaui::Tag) || can?(:delete, Kaui::Tag) %>
2
+ <%= form_tag update_invoice_tags_path do %>
3
+ <%= hidden_field_tag :invoice_id, invoice_id %>
4
+
5
+ <% available_tags.each do |tag| %>
6
+ <%= check_box_tag "tag_#{tag.id}", tag.name, tag_names.include?(tag.name), :disabled => !can_change_tags, :readonly => !can_change_tags %>
7
+ <label class='tag-description' rel='tooltip' title='<%= tag.description %>'><%= tag.name %></label>
8
+ <% end %>
9
+
10
+ <% if can_change_tags %>
11
+ <%= label_tag :comment, 'Comment', :class => 'col-sm-2 control-label' %>
12
+ <%= text_area_tag :comment, nil, :rows => 3, :class => 'form-control' %>
13
+ <%= submit_tag 'Update', :class => 'btn btn-default' %>
14
+ <% end %>
15
+ <% end %>
16
+
17
+ <%= javascript_tag do %>
18
+ $(function() {
19
+ $(".tag-description").tooltip();
20
+ });
21
+ <% end %>
@@ -0,0 +1,10 @@
1
+ <div class="register">
2
+ <div class="col-md-8 col-md-offset-2">
3
+
4
+ <div class="column-block">
5
+ <h1>Add/Remove Tags</h1>
6
+ <%= render 'form' %>
7
+ </div>
8
+
9
+ </div>
10
+ </div>
@@ -1,14 +1,22 @@
1
1
  <div class="info-wrapper">
2
2
 
3
3
  <% display_payment_options = (!dry_run && ((can?(:credit, Kaui::Account) && @invoice.status == 'DRAFT') || (can?(:charge, Kaui::Account) && @invoice.status == 'DRAFT') || (@invoice.balance > 0 && can?(:trigger, Kaui::Payment))))
4
- if !(@custom_fields ||= nil).blank? || display_payment_options %>
4
+ if !(@available_invoice_tags ||= nil).blank? || !(@custom_fields ||= nil).blank? || display_payment_options %>
5
5
  <div class="tag-bar">
6
- <!--<div class="tag-select">-->
7
- <!--<span><i class="fa fa-tag"></i><i class="fa fa-caret-down"></i></span>-->
8
- <!--<div class="tag-select-box">-->
9
- <!--<strong>Tag As:</strong>-->
10
- <!--</div>-->
11
- <!--</div>-->
6
+ <% unless @available_invoice_tags.blank? %>
7
+ <div class="tag-select" onclick="void(0)">
8
+ <span><i class="fa fa-tag"></i><i class="fa fa-caret-down"></i></span>
9
+
10
+ <div class="tag-select-box">
11
+ <strong>Tag As:</strong>
12
+ <%= render :partial => 'kaui/invoice_tags/form_bar',
13
+ :locals => {:account_id => @account.account_id,
14
+ :invoice_id => @invoice.invoice_id,
15
+ :tag_names => @invoice_tags.map { |tag| tag.tag_definition_name },
16
+ :available_tags => @available_invoice_tags} %>
17
+ </div>
18
+ </div>
19
+ <% end %>
12
20
  <%= render :partial => 'kaui/custom_fields/list_bar',
13
21
  :locals => {:custom_fields => @custom_fields} %>
14
22
 
@@ -35,6 +43,19 @@
35
43
  </div>
36
44
  <% end %>
37
45
 
46
+ <% if can?(:void, Kaui::Invoice) && @invoice.status != 'VOID' && @invoice_tags.find { |t| t.tag_definition_name == 'WRITTEN_OFF' }.nil? # The backend will do more comprehensive checks %>
47
+ <div class="tag-select" onclick="void(0)">
48
+ <span><i class="fa fa-trash"></i><i class="fa fa-caret-down"></i></span>
49
+
50
+ <div class="tag-select-box">
51
+ <%= form_tag void_invoice_path(:id => @invoice.invoice_id), :method => :delete do %>
52
+ <%= label_tag :comment, 'Comment', :class => 'col-sm-2 control-label' %>
53
+ <%= text_area_tag :comment, nil, :rows => 3, :class => 'form-control' %>
54
+ <%= submit_tag 'Void', :class => 'btn btn-default' %>
55
+ <% end %>
56
+ </div>
57
+ </div>
58
+ <% end %>
38
59
  </div>
39
60
  <% end %>
40
61
 
@@ -82,7 +103,7 @@
82
103
 
83
104
  </td>
84
105
  <% end %>
85
- <td onClick="hightlightLinkedItems('<%= item.invoice_item_id %>', '<%= item.linked_invoice_item_id %>'); return false;"><%= item.description %></td>
106
+ <td onClick="hightlightLinkedItems('<%= item.invoice_item_id %>', '<%= item.linked_invoice_item_id %>'); return false;"><%= item.pretty_plan_name.blank? || !item.item_type.in?(%w{USAGE RECURRING}) ? item.description : item.pretty_plan_name %></td>
86
107
  <td onClick="hightlightLinkedItems('<%= item.invoice_item_id %>', '<%= item.linked_invoice_item_id %>'); return false;"><%= item.start_date.html_safe if item.start_date %></td>
87
108
  <td onClick="hightlightLinkedItems('<%= item.invoice_item_id %>', '<%= item.linked_invoice_item_id %>'); return false;"><%= item.end_date.html_safe if item.end_date %></td>
88
109
  <td onClick="hightlightLinkedItems('<%= item.invoice_item_id %>', '<%= item.linked_invoice_item_id %>'); return false;"><%= item.subscription_id %></td>
@@ -130,7 +151,7 @@
130
151
 
131
152
  <script language="javascript">
132
153
  function hightlightLinkedItems(invoice_item_id, linked_invoice_item_id) {
133
- $("#invoice_table tr:gt(0)").each(function (index) {
154
+ $("#invoice-table tr:gt(0)").each(function (index) {
134
155
  var ids = $(this).attr("id").split("_");
135
156
  var item_id = ids[2];
136
157
  var linked_item_id = ids[3];
@@ -8,9 +8,9 @@
8
8
  <thead>
9
9
  <tr>
10
10
  <th>Number</th>
11
- <th>Date</th>
12
- <th>Amount</th>
13
- <th>Balance</th>
11
+ <% (@account.account_id.blank? ? Kaui.invoice_search_columns : Kaui.account_invoices_columns).call()[0].each do |title| %>
12
+ <th><%= title %></th>
13
+ <% end %>
14
14
  </tr>
15
15
  </thead>
16
16
  <tbody>
@@ -43,7 +43,9 @@ $(document).ready(function() {
43
43
  "paging": false,
44
44
  "ajax": "<%= invoices_pagination_path :format => :json %>",
45
45
  <% end %>
46
- <% unless @ordering.blank? %>
46
+ <% if @search_query.blank? %>
47
+ "ordering": false,
48
+ <% elsif !@ordering.blank? %>
47
49
  "order": [[ 0, "<%= @ordering %>" ]],
48
50
  <% end %>
49
51
  "processing": true,
@@ -5,7 +5,7 @@
5
5
  <h1>
6
6
  Invoice <%= @invoice.invoice_number %>
7
7
  <% unless @invoice.invoice_number.blank? %>
8
- <%= link_to 'View customer invoice html', kaui_engine.show_html_invoice_path(@invoice.invoice_id), :class => 'btn', :target => '_blank' %>
8
+ <%= Kaui.customer_invoice_link.call(@invoice, self) %>
9
9
  <% end %>
10
10
  </h1>
11
11
 
@@ -22,6 +22,15 @@
22
22
  This is a DRAFT invoice.
23
23
  <%= link_to 'Commit it', kaui_engine.commit_invoice_path(:id => @invoice.invoice_id), :method => :post %>.
24
24
  </div>
25
+ <% elsif @invoice.status == 'VOID' %>
26
+ <div class="alert alert-danger">
27
+ This invoice has been voided.
28
+ </div>
29
+ <% end %>
30
+ <% unless @invoice_tags.find { |t| t.tag_definition_name == 'WRITTEN_OFF' }.nil? %>
31
+ <div class="alert alert-danger">
32
+ This invoice has been written off.
33
+ </div>
25
34
  <% end %>
26
35
 
27
36
  <div class="row">
@@ -105,7 +114,7 @@
105
114
  $('#invoice-table').dataTable({
106
115
  "dom": "t",
107
116
  "paging": false,
108
- "order": [[ 1, "asc" ]],
117
+ "order": [],
109
118
  "columns": [
110
119
  null,
111
120
  null,
@@ -8,6 +8,13 @@
8
8
  </div>
9
9
  <% end %>
10
10
  <% end %>
11
+ <% if flash[:warning] %>
12
+ <div class="row server-alert">
13
+ <div class="col-md-12">
14
+ <div class="alert alert-warning"><%= flash[:warning] %></div>
15
+ </div>
16
+ </div>
17
+ <% end %>
11
18
  <% if flash[:notice] %>
12
19
  <div class="row server-alert">
13
20
  <div class="col-md-12">
@@ -36,4 +43,4 @@
36
43
  <span id="ajaxInfoAlertMessage" class="ajaxAlertMessage"></span>
37
44
  </div>
38
45
  </div>
39
- </div>
46
+ </div>
@@ -14,7 +14,7 @@
14
14
  <div class="form-group">
15
15
  <%= f.label :purchased_amount, 'Amount', :class => 'col-sm-3 control-label' %>
16
16
  <div class="col-sm-9">
17
- <%= f.number_field :purchased_amount, :id => 'payment_amount', :class => 'form-control' %>
17
+ <%= f.number_field :purchased_amount, :step => :any, :id => 'payment_amount', :class => 'form-control' %>
18
18
  <p class="help-block">Currency: <%= @invoice.present? ? @invoice.currency : @account.currency %></p>
19
19
  </div>
20
20
  </div>
@@ -126,8 +126,8 @@
126
126
  <% end %>
127
127
  <% (transaction.properties || []).sort_by { |p| p.key }.each do |property| %>
128
128
  <% next if property.value.blank? %>
129
- <li><%= property.key %>
130
- : <%= is_json?(property.value) ? "<pre>#{JSON.pretty_generate(JSON.parse(property.value))}</pre>".html_safe : property.value %></li>
129
+ <li><strong><%= property.key %>:</strong>
130
+ <%= is_json?(property.value) ? "<pre>#{JSON.pretty_generate(JSON.parse(property.value))}</pre>".html_safe : property.value %></li>
131
131
  <% end %>
132
132
  </ul>
133
133
  </td>
@@ -46,7 +46,9 @@ $(document).ready(function() {
46
46
  "paging": false,
47
47
  "ajax": "<%= payments_pagination_path :format => :json %>",
48
48
  <% end %>
49
- <% unless @ordering.blank? %>
49
+ <% if @search_query.blank? %>
50
+ "ordering": false,
51
+ <% elsif !@ordering.blank? %>
50
52
  "order": [[ 0, "<%= @ordering %>" ]],
51
53
  <% end %>
52
54
  "processing": true,
@@ -9,7 +9,7 @@
9
9
  <div class="form-group">
10
10
  <%= label_tag :price_override, 'Price Override', :class => 'col-sm-3 control-label' %>
11
11
  <div class="col-sm-9">
12
- <%= number_field_tag :price_override, nil, :class => 'form-control' %>
12
+ <%= number_field_tag :price_override, nil, :step => :any, :class => 'form-control' %>
13
13
  </div>
14
14
  </div>
15
15
  <div class="form-group">
@@ -37,7 +37,7 @@
37
37
  <div class="form-group">
38
38
  <%= label_tag :price_override, 'Price Override', :class => 'col-sm-2 control-label' %>
39
39
  <div class="col-sm-10">
40
- <%= number_field_tag :price_override, nil, :class => 'form-control' %>
40
+ <%= number_field_tag :price_override, nil, :step => :any, :class => 'form-control' %>
41
41
  </div>
42
42
  </div>
43
43
  <div class="form-group">
@@ -4,8 +4,8 @@
4
4
  <% unless @available_subscription_tags.blank? && @custom_fields_per_subscription.blank? %>
5
5
  <th></th>
6
6
  <% end %>
7
- <th>Product category</th>
8
- <th>Product name</th>
7
+ <th>Category</th>
8
+ <th>Name</th>
9
9
  <th>Phase type</th>
10
10
  <th>Start date</th>
11
11
  <th>Charged through date</th>
@@ -47,7 +47,7 @@
47
47
  <%= humanized_subscription_product_category(sub) %>
48
48
  </span>
49
49
  </td>
50
- <td><%= humanized_subscription_full_product_name(sub) %></td>
50
+ <td><%= humanized_subscription_plan_or_product_name(sub, catalog) %></td>
51
51
  <td><%= humanized_subscription_phase_type(sub) %></td>
52
52
  <td><%= humanized_subscription_start_date(sub, account) %></td>
53
53
  <td><%= humanized_subscription_charged_through_date(sub, account) %></td>