kaui 0.15.1 → 0.15.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4208468a561fd0c2e15a06de685932b20eb28933
4
- data.tar.gz: 32231b5c4acd5c8ed70e425c185e28cd2efd658d
3
+ metadata.gz: 03876ed3f2f539ca41f5d6ae33378309a842c6ba
4
+ data.tar.gz: 94fc7dd36b710fdaf45c27668b5791d64524914c
5
5
  SHA512:
6
- metadata.gz: 3be5d4c9eb3f8c88cd3938403be9d22f36e61655e398a034dfd02b744a4ad309c6361858f70c5552cb781d3d5eede2cb333ad3f318d1ce1e553e0ceb806017c8
7
- data.tar.gz: 50a33a56415bbde528bf403040b76695d0abe9c7e375920f658c60078015e173b8b6fa6f06a673012b2bf7f2438a0e44e1cc5b7d1e2bf1dad2c21480c91f9402
6
+ metadata.gz: 8117303c14d31d75080506897654684d52fb44b1d85e4153b626df24b9b89d16ce8cb787329d68c7cff89e65f2e7bb731e785b23e7cfe82707286a45e832a464
7
+ data.tar.gz: 4b895ba401fb46e454206d26381dbfbcf648520af5e5bcdbdabce0da6cbfbb30386823c557f06edf0eb88e278899ce195cb92af0f060206c82cd55e889afc240
data/Gemfile CHANGED
@@ -2,5 +2,5 @@ source 'http://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
- #gem 'killbill-client', :path => '../killbill-client-ruby'
5
+ gem 'killbill-client', :path => '../killbill-client-ruby'
6
6
  #gem 'killbill-client', :git => 'https://github.com/killbill/killbill-client-ruby.git'
data/README.md CHANGED
@@ -100,6 +100,10 @@ Alternatively, you can run the `kaui` script under `bin` by setting your loadpat
100
100
 
101
101
  ruby -Ilib bin/kaui /path/to/rails/app --path=$PWD --skip-bundle
102
102
 
103
+ Releases
104
+ ========
105
+
106
+ The releases are done using Jruby and require the following property `export JRUBY_OPTS='--2.0 -J-Xmx1024m'`
103
107
 
104
108
  Multi-Tenancy
105
109
  =============
@@ -87,3 +87,7 @@ table.dataTable.table-condensed thead > tr > th {
87
87
  border-right: 0;
88
88
  }
89
89
  }
90
+
91
+ .dataTables_paginate.paging_full_numbers {
92
+ padding-top: 30px;
93
+ }
@@ -3,6 +3,16 @@ class Kaui::AccountsController < Kaui::EngineController
3
3
  def index
4
4
  @search_query = params[:q]
5
5
 
6
+ if params[:fast] == '1' && !@search_query.blank?
7
+ account = Kaui::Account.list_or_search(@search_query, -1, 1, options_for_klient).first
8
+ if account.nil?
9
+ flash[:error] = "No account matches \"#{@search_query}\""
10
+ redirect_to kaui_engine.home_path and return
11
+ else
12
+ redirect_to kaui_engine.account_path(account.account_id) and return
13
+ end
14
+ end
15
+
6
16
  @limit = 50
7
17
  if @search_query.blank?
8
18
  max_nb_records = Kaui::Account.list_or_search(nil, 0, 0, options_for_klient).pagination_max_nb_records
@@ -120,7 +130,7 @@ class Kaui::AccountsController < Kaui::EngineController
120
130
  @account.is_migrated = @account.is_migrated == '1'
121
131
  @account.is_notified_for_invoices = @account.is_notified_for_invoices == '1'
122
132
 
123
- @account.update(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
133
+ @account.update(true, current_user.kb_username, params[:reason], params[:comment], options_for_klient)
124
134
 
125
135
  redirect_to account_path(@account.account_id), :notice => 'Account successfully updated'
126
136
  rescue => e
@@ -8,18 +8,22 @@ class Kaui::AdminAllowedUsersController < Kaui::EngineController
8
8
 
9
9
  def new
10
10
  @allowed_user = Kaui::AllowedUser.new
11
+ @roles = []
11
12
  end
12
13
 
13
14
  def create
14
- new_user = Kaui::AllowedUser.new(allowed_user_params)
15
+ @allowed_user = Kaui::AllowedUser.new(allowed_user_params)
15
16
 
16
- existing_user = Kaui::AllowedUser.find_by_kb_username(new_user.kb_username)
17
+ existing_user = Kaui::AllowedUser.find_by_kb_username(@allowed_user.kb_username)
17
18
  if existing_user
18
- flash[:error] = "User with name #{new_user.kb_username} already exists!"
19
- redirect_to admin_allowed_users_path
19
+ flash[:error] = "User with name #{@allowed_user.kb_username} already exists!"
20
+ render :new and return
20
21
  else
21
- new_user.save!
22
- redirect_to admin_allowed_user_path(new_user.id), :notice => 'User was successfully configured'
22
+ roles = params[:roles].split(',')
23
+
24
+ # Create locally and in KB
25
+ @allowed_user.create_in_kb!(params.require(:password), roles, current_user.kb_username, params[:reason], params[:comment], options_for_klient)
26
+ redirect_to kaui_engine.admin_allowed_user_path(@allowed_user.id), :notice => 'User was successfully configured'
23
27
  end
24
28
  end
25
29
 
@@ -27,10 +31,46 @@ class Kaui::AdminAllowedUsersController < Kaui::EngineController
27
31
  @allowed_user = Kaui::AllowedUser.find(params.require(:id))
28
32
  raise ActiveRecord::RecordNotFound.new("Could not find user #{@allowed_user.id}") unless (current_user.root? || @allowed_user.kb_username == current_user.kb_username)
29
33
 
34
+ @roles = Kaui::UserRole.find_roles_by_username(@allowed_user.kb_username, options_for_klient).map(&:presence).compact || []
35
+
30
36
  tenants_for_current_user = retrieve_tenants_for_current_user
31
37
  @tenants = Kaui::Tenant.all.select { |tenant| tenants_for_current_user.include?(tenant.kb_tenant_id) }
32
38
  end
33
39
 
40
+ def edit
41
+ @allowed_user = Kaui::AllowedUser.find(params.require(:id))
42
+
43
+ @roles = Kaui::UserRole.find_roles_by_username(@allowed_user.kb_username, options_for_klient).map(&:presence).compact || []
44
+ end
45
+
46
+ def update
47
+ @allowed_user = Kaui::AllowedUser.find(params.require(:id))
48
+
49
+ @allowed_user.description = params[:allowed_user][:description].presence
50
+
51
+ @allowed_user.update_in_kb!(params[:password].presence,
52
+ params[:roles].presence.split(','),
53
+ current_user.kb_username,
54
+ params[:reason],
55
+ params[:comment],
56
+ options_for_klient)
57
+
58
+ redirect_to kaui_engine.admin_allowed_user_path(@allowed_user.id), :notice => 'User was successfully updated'
59
+ end
60
+
61
+ def destroy
62
+ allowed_user = Kaui::AllowedUser.find(params.require(:id))
63
+
64
+ if allowed_user
65
+ # Delete locally and in KB
66
+ allowed_user.destroy_in_kb!(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
67
+ redirect_to kaui_engine.admin_allowed_users_path, :notice => 'User was successfully deleted'
68
+ else
69
+ flash[:error] = "User #{params.require(:id)} not found"
70
+ redirect_to kaui_engine.admin_allowed_users_path
71
+ end
72
+ end
73
+
34
74
  def add_tenant
35
75
  allowed_user = Kaui::AllowedUser.find(params.require(:allowed_user).require(:id))
36
76
 
@@ -13,7 +13,7 @@ class Kaui::HomeController < Kaui::EngineController
13
13
  elsif search_type == 'transaction'
14
14
  redirect_to transaction_path(:id => search_query)
15
15
  else
16
- redirect_to accounts_path(:q => search_query)
16
+ redirect_to accounts_path(:q => search_query, :fast => params[:fast])
17
17
  end
18
18
  end
19
19
 
@@ -26,7 +26,6 @@ class Kaui::PaymentsController < Kaui::EngineController
26
26
  '_' + search_key
27
27
  end
28
28
  payments = Kaui::Payment.list_or_search(payment_state, offset, limit, options_for_klient)
29
- payments.reject! { |payment| payment.transactions[-1].status != search_key }
30
29
  else
31
30
  account = Kaui::Account::find_by_id_or_key(search_key, false, false, options_for_klient) rescue nil
32
31
  if account.nil?
@@ -55,7 +54,8 @@ class Kaui::PaymentsController < Kaui::EngineController
55
54
  payment.payment_number.to_i,
56
55
  payment.payment_date,
57
56
  payment.paid_amount_to_money,
58
- payment.returned_amount_to_money
57
+ payment.returned_amount_to_money,
58
+ payment.transactions.empty? ? nil : payment.transactions[-1].status
59
59
  ][column]
60
60
  end
61
61
 
@@ -64,7 +64,8 @@ class Kaui::PaymentsController < Kaui::EngineController
64
64
  view_context.link_to(payment.payment_number, view_context.url_for(:controller => :payments, :action => :show, :account_id => payment.account_id, :id => payment.payment_id)),
65
65
  view_context.format_date(payment.payment_date),
66
66
  view_context.humanized_money_with_symbol(payment.paid_amount_to_money),
67
- view_context.humanized_money_with_symbol(payment.returned_amount_to_money)
67
+ view_context.humanized_money_with_symbol(payment.returned_amount_to_money),
68
+ payment.transactions.empty? ? nil : view_context.colored_transaction_status(payment.transactions[-1].status)
68
69
  ]
69
70
  end
70
71
 
@@ -0,0 +1,20 @@
1
+ class Kaui::RoleDefinitionsController < Kaui::EngineController
2
+
3
+ def new
4
+ @role_definition = Kaui::RoleDefinition.new
5
+ end
6
+
7
+ def create
8
+ # Sanity is done on the server side
9
+ @role_definition = Kaui::RoleDefinition.new(params.require(:role_definition))
10
+ @role_definition.permissions = @role_definition.permissions.split(',')
11
+
12
+ begin
13
+ @role_definition = @role_definition.create(current_user.kb_username, params[:reason], params[:comment], options_for_klient)
14
+ redirect_to admin_allowed_users_path, :notice => 'Role was successfully created'
15
+ rescue => e
16
+ flash.now[:error] = "Error while creating role: #{as_string(e)}"
17
+ render :action => :new
18
+ end
19
+ end
20
+ end
@@ -5,5 +5,16 @@ module Kaui
5
5
  Kaui::Payment::TRANSACTION_STATUSES
6
6
  end
7
7
 
8
+ def colored_transaction_status(transaction_status)
9
+ data = "<span class='alert-"
10
+ if transaction_status != 'SUCCESS'
11
+ data += "danger'>"
12
+ else
13
+ data += "success'>"
14
+ end
15
+ data += transaction_status
16
+ data += '</span>'
17
+ data.html_safe
18
+ end
8
19
  end
9
20
  end
@@ -10,16 +10,57 @@ module Kaui
10
10
  :through => :kaui_allowed_user_tenants,
11
11
  :source => :kaui_tenant
12
12
 
13
+ # Create the user locally and in Kill Bill (if needed)
13
14
  def create_in_kb!(password, roles = [], user = nil, reason = nil, comment = nil, options = {})
14
15
  # Create in Kill Bill
15
16
  kb_user = KillBillClient::Model::UserRoles.new
16
17
  kb_user.username = kb_username
17
18
  kb_user.password = password
18
19
  kb_user.roles = roles
19
- kb_user.create(user, reason, comment, options)
20
+
21
+ begin
22
+ kb_user.create(user, reason, comment, options)
23
+ rescue KillBillClient::API::BadRequest => e
24
+ error_code = JSON.parse(e.response.body)['code'] rescue nil
25
+ raise e unless error_code == 40002 # SECURITY_USER_ALREADY_EXISTS
26
+ end
20
27
 
21
28
  # Save locally
22
29
  save!
23
30
  end
31
+
32
+ # Update the user locally and in Kill Bill (if needed)
33
+ def update_in_kb!(password, roles, user = nil, reason = nil, comment = nil, options = {})
34
+ user_role = KillBillClient::Model::UserRoles.new
35
+ user_role.username = kb_username
36
+
37
+ # We have two different APIs to update password and roles
38
+ unless password.nil?
39
+ user_role.password = password
40
+ user_role.update(user, reason, comment, options)
41
+ user_role.password = nil
42
+ end
43
+ unless roles.nil?
44
+ user_role.roles = roles
45
+ user_role.update(user, reason, comment, options)
46
+ end
47
+
48
+ save!
49
+ end
50
+
51
+ # Delete the user locally and in Kill Bill (if needed)
52
+ def destroy_in_kb!(user = nil, reason = nil, comment = nil, options = {})
53
+ user_role = KillBillClient::Model::UserRoles.new
54
+ user_role.username = kb_username
55
+
56
+ begin
57
+ user_role.destroy(user, reason, comment, options)
58
+ rescue KillBillClient::API::BadRequest => e
59
+ # User already deactivated in Kill Bill
60
+ end
61
+
62
+ # Destroy locally
63
+ destroy!
64
+ end
24
65
  end
25
66
  end
@@ -0,0 +1,2 @@
1
+ class Kaui::RoleDefinition < KillBillClient::Model::RoleDefinition
2
+ end
@@ -0,0 +1,8 @@
1
+ class Kaui::UserRole < KillBillClient::Model::UserRoles
2
+
3
+ def self.find_roles_by_username(username, options = {})
4
+ user_role = Kaui::UserRole.new
5
+ user_role.username = username
6
+ user_role.list(options).roles
7
+ end
8
+ end
@@ -129,11 +129,7 @@
129
129
  (<%= transaction.currency %>)
130
130
  </li>
131
131
  <li>
132
- <span
133
- <% if transaction.status != 'SUCCESS' %>class="alert-danger"
134
- <% else %>class="alert-success" <% end %>>
135
- <%= transaction.status %>
136
- </span>
132
+ <%= colored_transaction_status(transaction.status) %>
137
133
  </li>
138
134
  <li><%= 'Payment #' %>&nbsp;<%= link_to payment.payment_number, account_payment_path(payment.account_id, payment.payment_id) %></li>
139
135
  <% unless invoice.nil? %>
@@ -19,6 +19,8 @@
19
19
  <%= f.text_field :external_key, :class => 'form-control' %>
20
20
  </div>
21
21
  </div>
22
+ <% else %>
23
+ <%= f.hidden_field :external_key %>
22
24
  <% end %>
23
25
  <div class="form-group">
24
26
  <%= f.label :email, 'Email', :class => 'col-sm-3 control-label' %>
@@ -45,6 +47,10 @@
45
47
  <%= f.collection_select :time_zone, ActiveSupport::TimeZone.all, :formatted_offset, :to_s, {:selected => Time.zone.formatted_offset}, :class => 'form-control' %>
46
48
  </div>
47
49
  </div>
50
+ <% else %>
51
+ <%= f.hidden_field :bill_cycle_day_local %>
52
+ <%= f.hidden_field :currency %>
53
+ <%= f.hidden_field :time_zone %>
48
54
  <% end %>
49
55
  <div class="form-group">
50
56
  <%= f.label :locale, 'Locale', :class => 'col-sm-3 control-label' %>
@@ -116,6 +122,8 @@
116
122
  </div>
117
123
  </div>
118
124
  </div>
125
+ <% else %>
126
+ <%= f.hidden_field :is_migrated %>
119
127
  <% end %>
120
128
  <div class="form-group">
121
129
  <div class="col-sm-offset-3 col-sm-9">
@@ -1,8 +1,15 @@
1
- <%= form_for @allowed_user, :url => admin_allowed_users_path, :html => {:class => 'form-horizontal'} do |f| %>
1
+ <% # Unclear why this url/method hack is needed %>
2
+ <%= form_for @allowed_user, :url => @allowed_user.persisted? ? admin_allowed_user_path(@allowed_user.id) : admin_allowed_users_path, :method => @allowed_user.persisted? ? :put : :post, :html => {:class => 'form-horizontal'} do |f| %>
2
3
  <div class="form-group">
3
4
  <%= f.label :kb_username, 'Name', :class => 'col-sm-2 control-label' %>
4
5
  <div class="col-sm-10">
5
- <%= f.text_field :kb_username, :class => 'form-control', :required => true %>
6
+ <%= f.text_field :kb_username, :class => 'form-control', :required => true, :disabled => @allowed_user.persisted?, :readonly => @allowed_user.persisted? %>
7
+ </div>
8
+ </div>
9
+ <div class="form-group">
10
+ <%= f.label_tag :password, 'Password', :class => 'col-sm-2 control-label' %>
11
+ <div class="col-sm-10">
12
+ <%= f.password_field_tag :password, '', :class => 'form-control' %>
6
13
  </div>
7
14
  </div>
8
15
  <div class="form-group">
@@ -11,6 +18,14 @@
11
18
  <%= f.text_field :description, :class => 'form-control' %>
12
19
  </div>
13
20
  </div>
21
+ <div class="form-group">
22
+ <%= label_tag :roles, 'Roles', :class => 'col-sm-2 control-label' %>
23
+ <div class="col-sm-10">
24
+ <%= text_field_tag :roles, @roles.join(','), :class => 'form-control' %>
25
+ <p class="help-block">Comma separated, e.g. customer_support,finance.</p>
26
+ <p class="help-block">Create a new role <%= link_to 'here', new_role_definition_path %>.</p>
27
+ </div>
28
+ </div>
14
29
  <div class="form-group">
15
30
  <div class="col-sm-offset-2 col-sm-10">
16
31
  <%= f.submit 'Save', :class => 'btn btn-default' %>
@@ -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>Update user</h1>
6
+ <%= render 'form' %>
7
+ </div>
8
+
9
+ </div>
10
+ </div>
@@ -1,10 +1,21 @@
1
1
  <div class="column-block">
2
2
 
3
- <h1>User details</h1>
3
+ <h1>User details
4
+ <%= link_to 'Edit',
5
+ kaui_engine.edit_admin_allowed_user_path(@allowed_user.id),
6
+ :class => 'btn btn-xs' %>
7
+ &nbsp;
8
+ <%= link_to '<i class="fa fa-times"></i>'.html_safe,
9
+ kaui_engine.admin_allowed_user_path(@allowed_user.id),
10
+ :method => :delete,
11
+ data: {:confirm => 'Are you sure?'} -%>
12
+ </h1>
4
13
 
5
14
  <b>Name:</b> <%= @allowed_user.kb_username %>
6
15
  <br/>
7
16
  <b>Description:</b> <%= @allowed_user.description %>
17
+ <br/>
18
+ <b>Roles:</b> <%= @roles.join(',') %>
8
19
 
9
20
  </div>
10
21
 
@@ -9,7 +9,7 @@
9
9
  <li><%= link_to 'AUTO_INVOICING_OFF accounts', kaui_engine.tags_path(:q => 'AUTO_INVOICING_OFF') %></li>
10
10
  <li><%= link_to 'AUTO_PAY_OFF accounts', kaui_engine.tags_path(:q => 'AUTO_PAY_OFF') %></li>
11
11
  <li><%= link_to 'PENDING payments', kaui_engine.payments_path(:q => 'PENDING') %></li>
12
- <li><%= link_to 'UNKNOWN payments', kaui_engine.payments_path(:q => 'UNKNOWN') %></li>
12
+ <li><%= link_to 'UNKNOWN and PLUGIN_FAILURE payments', kaui_engine.payments_path(:q => 'UNKNOWN') %></li>
13
13
  <li><%= link_to 'Queues', kaui_engine.queues_path %></li>
14
14
  </ul>
15
15
 
@@ -5,6 +5,11 @@
5
5
  <%= form_tag search_path, :id => 'home_searchform', :method => 'get' do %>
6
6
  <%= text_field_tag :q, @search_query, :id => 'search', :placeholder => 'What are you looking for?' %>
7
7
  <%= submit_tag 'Search' %>
8
+ <div class="checkbox">
9
+ <%= label_tag :fast do %>
10
+ <%= check_box_tag :fast %>Fast search (find first exact match)
11
+ <% end %>
12
+ </div>
8
13
  <% end %>
9
14
 
10
15
  </div>
@@ -27,7 +27,7 @@
27
27
  <%= javascript_tag do %>
28
28
  $(document).ready(function() {
29
29
  $('#invoices-table').dataTable({
30
- <% if @search_query.blank? %>
30
+ <% if @account.account_id.blank? %>
31
31
  "dom": "<'row'r>t<'row'<'col-md-6'i><'col-md-6'p>>",
32
32
  "pagingType": "full_numbers",
33
33
  "pageLength": <%= @limit %>,
@@ -96,7 +96,7 @@
96
96
  <td>
97
97
  <ul style="list-style: none; padding-left: 0">
98
98
  <li>
99
- <span <% if transaction.status != 'SUCCESS' %>class='alert-danger'<% else %>class='alert-success' <% end %>><%= transaction.status %></span>
99
+ <%= colored_transaction_status(transaction.status) %>
100
100
  <% if current_user.root? %>
101
101
  <%= link_to '&nbsp;<i class="fa fa-eraser"></i>'.html_safe, kaui_engine.new_account_transaction_path(payment.account_id,
102
102
  :payment_id => payment.payment_id,
@@ -11,6 +11,7 @@
11
11
  <th>Date</th>
12
12
  <th>Amount</th>
13
13
  <th>Refund amount</th>
14
+ <th>Last transaction status</th>
14
15
  </tr>
15
16
  </thead>
16
17
  <tbody>
@@ -27,7 +28,7 @@
27
28
  <%= javascript_tag do %>
28
29
  $(document).ready(function() {
29
30
  $('#payments-table').dataTable({
30
- <% if @search_query.blank? %>
31
+ <% if @account.account_id.blank? %>
31
32
  "dom": "<'row'r>t<'row'<'col-md-6'i><'col-md-6'p>>",
32
33
  "pagingType": "full_numbers",
33
34
  "pageLength": <%= @limit %>,
@@ -0,0 +1,20 @@
1
+ <%= form_for @role_definition, :html => {:class => 'form-horizontal'} do |f| %>
2
+ <div class="form-group">
3
+ <%= f.label :role, 'Role name', :class => 'col-sm-3 control-label' %>
4
+ <div class="col-sm-9">
5
+ <%= f.text_field :role, :class => 'form-control' %>
6
+ </div>
7
+ </div>
8
+ <div class="form-group">
9
+ <%= f.label :permissions, 'Permissions', :class => 'col-sm-3 control-label' %>
10
+ <div class="col-sm-9">
11
+ <%= f.text_field :permissions, :class => 'form-control' %>
12
+ <p class="help-block">Comma separated, e.g. account:create,entitlement:change_plan,invoice:credit</p>
13
+ </div>
14
+ </div>
15
+ <div class="form-group">
16
+ <div class="col-sm-offset-3 col-sm-9">
17
+ <%= submit_tag 'Save', :class => 'btn btn-default' %>
18
+ </div>
19
+ </div>
20
+ <% 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 new role definition</h1>
6
+ <%= render 'form' %>
7
+ </div>
8
+
9
+ </div>
10
+ </div>
data/config/routes.rb CHANGED
@@ -153,8 +153,10 @@ Kaui::Engine.routes.draw do
153
153
  match '/remove_allowed_user' => 'admin_tenants#remove_allowed_user', :via => :delete, :as => 'remove_allowed_user'
154
154
  end
155
155
 
156
- resources :admin_allowed_users, :only => [ :index, :new, :create, :show ]
156
+ resources :admin_allowed_users
157
157
  scope '/admin_allowed_users' do
158
158
  match '/add_tenant' => 'admin_allowed_users#add_tenant', :via => :post, :as => 'add_tenant'
159
159
  end
160
+
161
+ resources :role_definitions, :only => [ :new, :create ]
160
162
  end
data/lib/kaui/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Kaui
2
- VERSION = '0.15.1'
2
+ VERSION = '0.15.2'
3
3
  end
@@ -77,12 +77,13 @@ class Kaui::AccountsControllerTest < Kaui::FunctionalTestHelper
77
77
  assert_response 200
78
78
  assert_not_nil assigns(:account)
79
79
 
80
+ latest_account_attributes = assigns(:account).to_hash
80
81
  put :update,
81
82
  :account_id => @account.account_id,
82
- :account => {
83
+ :account => latest_account_attributes.merge({
83
84
  :name => SecureRandom.uuid.to_s,
84
85
  :email => SecureRandom.uuid.to_s + '@example.com'
85
- }
86
+ })
86
87
  assert_redirected_to account_path(assigns(:account).account_id)
87
88
  assert_equal 'Account successfully updated', flash[:notice]
88
89
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kaui
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.15.1
4
+ version: 0.15.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Killbill core team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-01-18 00:00:00.000000000 Z
11
+ date: 2017-02-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -474,6 +474,7 @@ files:
474
474
  - app/controllers/kaui/queues_controller.rb
475
475
  - app/controllers/kaui/refunds_controller.rb
476
476
  - app/controllers/kaui/registrations_controller.rb
477
+ - app/controllers/kaui/role_definitions_controller.rb
477
478
  - app/controllers/kaui/sessions_controller.rb
478
479
  - app/controllers/kaui/subscriptions_controller.rb
479
480
  - app/controllers/kaui/tag_definitions_controller.rb
@@ -516,6 +517,7 @@ files:
516
517
  - app/models/kaui/payment_state.rb
517
518
  - app/models/kaui/rails_methods.rb
518
519
  - app/models/kaui/refund.rb
520
+ - app/models/kaui/role_definition.rb
519
521
  - app/models/kaui/simple_plan.rb
520
522
  - app/models/kaui/subscription.rb
521
523
  - app/models/kaui/tag.rb
@@ -523,6 +525,7 @@ files:
523
525
  - app/models/kaui/tenant.rb
524
526
  - app/models/kaui/transaction.rb
525
527
  - app/models/kaui/user.rb
528
+ - app/models/kaui/user_role.rb
526
529
  - app/views/kaui/account_emails/_account_emails_table.html.erb
527
530
  - app/views/kaui/account_emails/_form.html.erb
528
531
  - app/views/kaui/account_emails/new.html.erb
@@ -541,6 +544,7 @@ files:
541
544
  - app/views/kaui/admin/index.html.erb
542
545
  - app/views/kaui/admin/index.js.erb
543
546
  - app/views/kaui/admin_allowed_users/_form.html.erb
547
+ - app/views/kaui/admin_allowed_users/edit.html.erb
544
548
  - app/views/kaui/admin_allowed_users/index.html.erb
545
549
  - app/views/kaui/admin_allowed_users/new.html.erb
546
550
  - app/views/kaui/admin_allowed_users/show.html.erb
@@ -603,6 +607,8 @@ files:
603
607
  - app/views/kaui/refunds/new.html.erb
604
608
  - app/views/kaui/registrations/_form.html.erb
605
609
  - app/views/kaui/registrations/new.html.erb
610
+ - app/views/kaui/role_definitions/_form.html.erb
611
+ - app/views/kaui/role_definitions/new.html.erb
606
612
  - app/views/kaui/sessions/_form.html.erb
607
613
  - app/views/kaui/sessions/new.html.erb
608
614
  - app/views/kaui/subscriptions/_edit_form.html.erb