kaui 0.8.4 → 0.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -9
- data/app/assets/stylesheets/bootstrap_and_overrides.css +42 -1
- data/app/views/kaui/account_timelines/show.html.erb +85 -86
- data/app/views/kaui/accounts/_form.html.erb +112 -108
- data/app/views/kaui/accounts/index.html.erb +3 -3
- data/app/views/kaui/accounts/show.html.erb +2 -1
- data/app/views/kaui/bundles/index.html.erb +3 -1
- data/app/views/kaui/custom_fields/index.html.erb +3 -1
- data/app/views/kaui/invoices/index.html.erb +3 -1
- data/app/views/kaui/layouts/kaui_application.html.erb +3 -3
- data/app/views/kaui/payment_methods/index.html.erb +3 -1
- data/app/views/kaui/payments/index.html.erb +3 -1
- data/app/views/kaui/tag_definitions/index.html.erb +2 -4
- data/app/views/kaui/tag_definitions/show.html.erb +1 -1
- data/app/views/kaui/tags/index.html.erb +3 -1
- data/kaui.gemspec +1 -1
- data/lib/kaui/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a70faa01f0b175623fe4193632ac3e9f1cd64442
|
|
4
|
+
data.tar.gz: c3257458ed844df34f244fee6137646129bfc311
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: b87e8fb8edb7c0600836d4656e78d8648c6c2097d9e38d066d2b91a48554cf7af7d25d18319c091cbca0d5ecd0a284f73961bc26d3090aa114e6535fddb44ce7
|
|
7
|
+
data.tar.gz: adcdb96bf73e373660f3ebc74b770200fa660a81eb7b66cc4eaf24c632d84e010bffa091a25242e40a30e9e1f3bd389f99888b7d41aa540d601f95ed6aa1dcee
|
data/Gemfile.lock
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
kaui (0.
|
|
4
|
+
kaui (0.9.0)
|
|
5
5
|
cancan (~> 1.6.10)
|
|
6
6
|
carmen-rails (~> 1.0.0)
|
|
7
7
|
d3_rails (~> 3.2.8)
|
|
8
8
|
devise (~> 3.0.2)
|
|
9
9
|
jquery-rails (~> 3.0.4)
|
|
10
|
-
killbill-client (~> 0.
|
|
10
|
+
killbill-client (~> 0.13.0)
|
|
11
11
|
money-rails (~> 0.8.1)
|
|
12
12
|
rails (~> 3.2.14)
|
|
13
13
|
symmetric-encryption (~> 3.6.0)
|
|
@@ -49,8 +49,8 @@ GEM
|
|
|
49
49
|
bcrypt (>= 3.1.3)
|
|
50
50
|
builder (3.0.4)
|
|
51
51
|
cancan (1.6.10)
|
|
52
|
-
carmen (1.0.
|
|
53
|
-
|
|
52
|
+
carmen (1.0.2)
|
|
53
|
+
activesupport (>= 3.0.0)
|
|
54
54
|
carmen-rails (1.0.1)
|
|
55
55
|
carmen (~> 1.0.0)
|
|
56
56
|
rails
|
|
@@ -67,7 +67,7 @@ GEM
|
|
|
67
67
|
warden (~> 1.2.3)
|
|
68
68
|
docile (1.1.5)
|
|
69
69
|
erubis (2.7.0)
|
|
70
|
-
execjs (2.
|
|
70
|
+
execjs (2.5.2)
|
|
71
71
|
fakeweb (1.3.0)
|
|
72
72
|
hike (1.2.3)
|
|
73
73
|
i18n (0.6.11)
|
|
@@ -76,7 +76,7 @@ GEM
|
|
|
76
76
|
railties (>= 3.0, < 5.0)
|
|
77
77
|
thor (>= 0.14, < 2.0)
|
|
78
78
|
json (1.8.2)
|
|
79
|
-
killbill-client (0.
|
|
79
|
+
killbill-client (0.13.0)
|
|
80
80
|
json (>= 1.2.0)
|
|
81
81
|
mail (2.5.4)
|
|
82
82
|
mime-types (~> 1.16)
|
|
@@ -131,7 +131,7 @@ GEM
|
|
|
131
131
|
symmetric-encryption (3.6.0)
|
|
132
132
|
coercible (>= 1.0.0)
|
|
133
133
|
thor (0.19.1)
|
|
134
|
-
thread_safe (0.3.
|
|
134
|
+
thread_safe (0.3.5)
|
|
135
135
|
tilt (1.4.1)
|
|
136
136
|
treetop (1.4.15)
|
|
137
137
|
polyglot
|
|
@@ -141,8 +141,7 @@ GEM
|
|
|
141
141
|
execjs
|
|
142
142
|
rails (>= 3.1)
|
|
143
143
|
railties (>= 3.1)
|
|
144
|
-
tzinfo (0.3.
|
|
145
|
-
unicode_utils (1.4.0)
|
|
144
|
+
tzinfo (0.3.44)
|
|
146
145
|
warden (1.2.3)
|
|
147
146
|
rack (>= 1.0)
|
|
148
147
|
|
|
@@ -4,4 +4,45 @@
|
|
|
4
4
|
Use Font Awesome icons (default)
|
|
5
5
|
To use Glyphicons sprites instead of Font Awesome, replace with "require twitter-bootstrap-static/sprites"
|
|
6
6
|
=require twitter-bootstrap-static/fontawesome
|
|
7
|
-
*/
|
|
7
|
+
*/
|
|
8
|
+
|
|
9
|
+
/* Fixing corners on nav */
|
|
10
|
+
.kauiNav .navbar-inner {
|
|
11
|
+
border-radius: 0;
|
|
12
|
+
-moz-border-radius: 0;
|
|
13
|
+
-webkit-border-radius: 0;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
/* Moving pagination to right side of page */
|
|
17
|
+
.pagination {
|
|
18
|
+
margin: 0;
|
|
19
|
+
}
|
|
20
|
+
.pagination ul {
|
|
21
|
+
float: right;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/* Moving search to right side of page */
|
|
25
|
+
.dataTables_filter label {
|
|
26
|
+
float: right;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.dataTables_length select {
|
|
30
|
+
width: auto;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/* Removing header margin */
|
|
34
|
+
.pageHeader {
|
|
35
|
+
margin: 0 0 20px 0;
|
|
36
|
+
line-height: 30px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/* Removing form action background and border */
|
|
40
|
+
.form-actions {
|
|
41
|
+
background: none;
|
|
42
|
+
border: none;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/** New account page **/
|
|
46
|
+
.groupWrapper {
|
|
47
|
+
margin: 0;
|
|
48
|
+
}
|
|
@@ -276,140 +276,139 @@
|
|
|
276
276
|
</div>
|
|
277
277
|
<%= javascript_tag do %>
|
|
278
278
|
function disableLinks() {
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
279
|
+
$('a.btn.disabled').click(function (e) {
|
|
280
|
+
e.preventDefault();
|
|
281
|
+
});
|
|
282
282
|
}
|
|
283
283
|
|
|
284
284
|
eventsOrder = ["START_ENTITLEMENT", "START_BILLING", "PAUSE_ENTITLEMENT", "PAUSE_BILLING", "RESUME_ENTITLEMENT",
|
|
285
285
|
"RESUME_BILLING", "PHASE", "CHANGE", "STOP_ENTITLEMENT", "STOP_BILLING", "INVOICE", "PAYMENT"];
|
|
286
286
|
|
|
287
287
|
jQuery.fn.dataTableExt.oSort['timeline-event-asc'] = function(e1,e2) {
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
288
|
+
var x = eventsOrder.indexOf(e1);
|
|
289
|
+
var y = eventsOrder.indexOf(e2);
|
|
290
|
+
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
|
|
291
291
|
};
|
|
292
292
|
|
|
293
293
|
jQuery.fn.dataTableExt.oSort['timeline-event-desc'] = function(e1,e2) {
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
294
|
+
var x = eventsOrder.indexOf(e1);
|
|
295
|
+
var y = eventsOrder.indexOf(e2);
|
|
296
|
+
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
|
|
297
297
|
};
|
|
298
298
|
|
|
299
299
|
function extractTitleAttributeFromText(txt) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
300
|
+
// Ugly - better way of doing this?
|
|
301
|
+
var matches = txt.match(/title="\w+"/g);
|
|
302
|
+
if (matches == null || matches.size == 0) {
|
|
303
|
+
return null;
|
|
304
|
+
}
|
|
305
|
+
return matches[0].split('=')[1];
|
|
306
306
|
}
|
|
307
307
|
|
|
308
308
|
jQuery.fn.dataTableExt.oSort['timeline-details-asc'] = function(e1,e2) {
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
309
|
+
var x = extractTitleAttributeFromText(e1);
|
|
310
|
+
var y = extractTitleAttributeFromText(e2);
|
|
311
|
+
return ((x < y) ? -1 : ((x > y) ? 1 : 0));
|
|
312
312
|
};
|
|
313
313
|
|
|
314
314
|
jQuery.fn.dataTableExt.oSort['timeline-details-desc'] = function(e1,e2) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
315
|
+
var x = extractTitleAttributeFromText(e1);
|
|
316
|
+
var y = extractTitleAttributeFromText(e2);
|
|
317
|
+
return ((x < y) ? 1 : ((x > y) ? -1 : 0));
|
|
318
318
|
};
|
|
319
319
|
|
|
320
320
|
function initTable() {
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
321
|
+
return $("#timeline-table").dataTable({
|
|
322
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
323
|
+
"sPaginationType": "bootstrap",
|
|
324
|
+
"oLanguage": {
|
|
325
|
+
"sLengthMenu": "_MENU_ records per page"
|
|
326
|
+
},
|
|
327
|
+
"iDisplayLength": 100,
|
|
328
|
+
"bRetrieve": true,
|
|
329
|
+
// Force a predictive order for event types, invoices and payments
|
|
330
|
+
"aaSorting": [[1, 'desc'], [4, 'asc'], [3, 'desc']],
|
|
331
|
+
"aoColumns": [
|
|
332
|
+
{ "sType": 'date' },
|
|
333
|
+
{ "sType": 'date' },
|
|
334
|
+
null,
|
|
335
|
+
{ "sType": 'timeline-event' },
|
|
336
|
+
{ "sType": 'timeline-details' },
|
|
337
|
+
null,
|
|
338
|
+
null
|
|
339
|
+
]
|
|
340
|
+
});
|
|
341
341
|
}
|
|
342
342
|
|
|
343
343
|
function filterEachNode(rows) {
|
|
344
|
-
|
|
345
|
-
|
|
344
|
+
var bundle = $("#bundles").val();
|
|
345
|
+
var event_to_filter = $('#event_types').val().toUpperCase();
|
|
346
346
|
|
|
347
347
|
for (i = 0; i < rows.length; i++)
|
|
348
348
|
{
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
//filter bundles
|
|
352
|
-
if (bundle == "" || tr.attr("title").split(",").indexOf(bundle) >= 0) {
|
|
353
|
-
//first level filtering, so can remove hide
|
|
354
|
-
tr.removeClass("hide");
|
|
355
|
-
}
|
|
356
|
-
else {
|
|
357
|
-
//remove tr's not under this filter mode
|
|
358
|
-
tr.addClass("hide");
|
|
359
|
-
}
|
|
349
|
+
tr = $(rows[i]);
|
|
360
350
|
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
351
|
+
//filter bundles
|
|
352
|
+
if (bundle == "" || tr.attr("title").split(",").indexOf(bundle) >= 0) {
|
|
353
|
+
//first level filtering, so can remove hide
|
|
354
|
+
tr.removeClass("hide");
|
|
355
|
+
}
|
|
356
|
+
else {
|
|
357
|
+
//remove tr's not under this filter mode
|
|
358
|
+
tr.addClass("hide");
|
|
359
|
+
}
|
|
364
360
|
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
361
|
+
//filter events
|
|
362
|
+
if ("ALL" != event_to_filter)
|
|
363
|
+
filterEvents(tr, event_to_filter);
|
|
368
364
|
|
|
365
|
+
//add more filters here
|
|
366
|
+
//do not unhide any rows
|
|
367
|
+
}
|
|
369
368
|
}
|
|
370
369
|
|
|
371
370
|
function filterEvents(tr, event_to_filter) {
|
|
372
|
-
|
|
371
|
+
tr_event_type = tr.data().event_type;
|
|
373
372
|
|
|
374
|
-
|
|
373
|
+
core_events = ["INVOICE", "PAYMENT"]; //events which are not entitlements
|
|
375
374
|
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
375
|
+
//is tr event not an event in question
|
|
376
|
+
tr_event_does_not_match_filter = ("ENTITLEMENT" != event_to_filter &&
|
|
377
|
+
tr_event_type != event_to_filter);
|
|
379
378
|
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
379
|
+
//tr event is not an entitlement
|
|
380
|
+
tr_event_is_not_entitlement = ("ENTITLEMENT" == event_to_filter &&
|
|
381
|
+
core_events.indexOf(tr_event_type) >= 0);
|
|
383
382
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
383
|
+
if ( tr_event_does_not_match_filter || tr_event_is_not_entitlement )
|
|
384
|
+
{
|
|
385
|
+
//add hide to all who dont deserve the filter
|
|
386
|
+
tr.addClass("hide");
|
|
387
|
+
}
|
|
389
388
|
}
|
|
390
389
|
|
|
391
390
|
function filterTable()
|
|
392
391
|
{
|
|
393
|
-
|
|
394
|
-
|
|
392
|
+
var dataTable = initTable();
|
|
393
|
+
var all_nodes = dataTable.fnGetNodes();
|
|
395
394
|
|
|
396
|
-
|
|
395
|
+
filterEachNode(all_nodes);
|
|
397
396
|
|
|
398
|
-
|
|
399
|
-
|
|
397
|
+
//my rows are filtered, draw table
|
|
398
|
+
dataTable.fnDraw();
|
|
400
399
|
}
|
|
401
400
|
|
|
402
401
|
|
|
403
402
|
$(document).ready(function() {
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
403
|
+
disableLinks();
|
|
404
|
+
// When going through the pages of the table, disable links as needed
|
|
405
|
+
$('#timeline-table').bind('draw', function (e) {
|
|
406
|
+
disableLinks();
|
|
407
|
+
});
|
|
409
408
|
|
|
410
|
-
|
|
409
|
+
initTable();
|
|
411
410
|
|
|
412
|
-
|
|
413
|
-
|
|
411
|
+
$("#bundles, #event_types").change(filterTable);
|
|
412
|
+
filterTable();
|
|
414
413
|
});
|
|
415
414
|
<% end %>
|
|
@@ -1,115 +1,119 @@
|
|
|
1
1
|
<%= form_for @account, :html => {:class => 'form-horizontal'} do |f| %>
|
|
2
|
-
<fieldset>
|
|
3
|
-
<div class="
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
2
|
+
<fieldset class="newAccountForm clearfix">
|
|
3
|
+
<div class="groupWrapper span6 pull-left">
|
|
4
|
+
<div class="control-group">
|
|
5
|
+
<%= f.label :name, 'Name *', :class => 'control-label' %>
|
|
6
|
+
<div class="controls">
|
|
7
|
+
<%= f.text_field :name, :class => 'input-small', :required => true %>
|
|
8
|
+
</div>
|
|
9
|
+
</div>
|
|
10
|
+
<div class="control-group">
|
|
11
|
+
<%= f.label :first_name_length, 'First name length', :class => 'control-label' %>
|
|
12
|
+
<div class="controls">
|
|
13
|
+
<%= f.text_field :first_name_length, :class => 'input-small' %>
|
|
14
|
+
</div>
|
|
15
|
+
</div>
|
|
16
|
+
<div class="control-group">
|
|
17
|
+
<%= f.label :external_key, 'External key *', :class => 'control-label' %>
|
|
18
|
+
<div class="controls">
|
|
19
|
+
<%= f.text_field :external_key, :class => 'input-small', :required => true %>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
<div class="control-group">
|
|
23
|
+
<%= f.label :email, 'Email *', :class => 'control-label' %>
|
|
24
|
+
<div class="controls">
|
|
25
|
+
<%= f.text_field :email, :class => 'input-small', :required => true %>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
<div class="control-group">
|
|
29
|
+
<%= f.label :bill_cycle_day_local, 'Bill cycle day', :class => 'control-label' %>
|
|
30
|
+
<div class="controls">
|
|
31
|
+
<%= f.text_field :bill_cycle_day_local, :class => 'input-small' %>
|
|
32
|
+
</div>
|
|
33
|
+
</div>
|
|
34
|
+
<div class="control-group">
|
|
35
|
+
<%= f.label :currency, 'Currency', :class => 'control-label' %>
|
|
36
|
+
<div class="controls">
|
|
37
|
+
<%= f.select :currency, currencies, {}, :class => 'input-small' %>
|
|
38
|
+
</div>
|
|
39
|
+
</div>
|
|
40
|
+
<div class="control-group">
|
|
41
|
+
<%= f.label :time_zone, 'Timezone', :class => 'control-label' %>
|
|
42
|
+
<div class="controls">
|
|
43
|
+
<%= f.collection_select :time_zone, ActiveSupport::TimeZone.all, :formatted_offset, :to_s, :class => 'input-large' %>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
46
|
+
<div class="control-group">
|
|
47
|
+
<%= f.label :address1, 'Address line 1', :class => 'control-label' %>
|
|
48
|
+
<div class="controls">
|
|
49
|
+
<%= f.text_field :address1, :class => 'input-small' %>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
<div class="control-group">
|
|
53
|
+
<%= f.label :address2, 'Address line 2', :class => 'control-label' %>
|
|
54
|
+
<div class="controls">
|
|
55
|
+
<%= f.text_field :address2, :class => 'input-small' %>
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
</div>
|
|
59
|
+
<div class="groupWrapper span6 pull-left">
|
|
60
|
+
<div class="control-group">
|
|
61
|
+
<%= f.label :postal_code, 'Zip code', :class => 'control-label' %>
|
|
62
|
+
<div class="controls">
|
|
63
|
+
<%= f.text_field :postal_code, :class => 'input-small' %>
|
|
64
|
+
</div>
|
|
65
|
+
</div>
|
|
66
|
+
<div class="control-group">
|
|
67
|
+
<%= f.label :company, 'Company', :class => 'control-label' %>
|
|
68
|
+
<div class="controls">
|
|
69
|
+
<%= f.text_field :company, :class => 'input-small' %>
|
|
70
|
+
</div>
|
|
71
|
+
</div>
|
|
72
|
+
<div class="control-group">
|
|
73
|
+
<%= f.label :city, 'City', :class => 'control-label' %>
|
|
74
|
+
<div class="controls">
|
|
75
|
+
<%= f.text_field :city, :class => 'input-small' %>
|
|
76
|
+
</div>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="control-group">
|
|
79
|
+
<%= f.label :state, 'State', :class => 'control-label' %>
|
|
80
|
+
<div class="controls">
|
|
81
|
+
<%= f.text_field :state, :class => 'input-small' %>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
<div class="control-group">
|
|
85
|
+
<%= f.label :country, 'Country', :class => 'control-label' %>
|
|
86
|
+
<div class="controls">
|
|
87
|
+
<%= f.country_select :country, {priority: %w(US CA), prompt: 'Please select a country'}, :class => 'input-large' %>
|
|
88
|
+
</div>
|
|
89
|
+
</div>
|
|
90
|
+
<div class="control-group">
|
|
91
|
+
<%= f.label :locale, 'Locale', :class => 'control-label' %>
|
|
92
|
+
<div class="controls">
|
|
93
|
+
<%= f.text_field :locale, :class => 'input-small' %>
|
|
94
|
+
</div>
|
|
95
|
+
</div>
|
|
96
|
+
<div class="control-group">
|
|
97
|
+
<%= f.label :phone, 'Phone', :class => 'control-label' %>
|
|
98
|
+
<div class="controls">
|
|
99
|
+
<%= f.text_field :phone, :class => 'input-small' %>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
<div class="control-group">
|
|
103
|
+
<%= f.label :is_migrated, 'Migrated?', :class => 'control-label' %>
|
|
104
|
+
<div class="controls">
|
|
105
|
+
<%= f.check_box :is_migrated, :class => 'input-small' %>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
<div class="control-group">
|
|
109
|
+
<%= f.label :is_notified_for_invoices, 'Notified for invoices?', :class => 'control-label' %>
|
|
110
|
+
<div class="controls">
|
|
111
|
+
<%= f.check_box :is_notified_for_invoices, :class => 'input-small' %>
|
|
112
|
+
</div>
|
|
109
113
|
</div>
|
|
110
114
|
</div>
|
|
111
115
|
|
|
112
|
-
<div class="form-actions">
|
|
116
|
+
<div class="form-actions pull-left">
|
|
113
117
|
<%= button_tag 'Create account', :class => 'btn btn-primary' %>
|
|
114
118
|
</div>
|
|
115
119
|
</fieldset>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Accounts: <%= link_to 'Create new account', new_account_path %></h3>
|
|
2
|
+
|
|
1
3
|
<table id="accounts-table" class="table table-condensed">
|
|
2
4
|
<thead>
|
|
3
5
|
<tr>
|
|
@@ -16,12 +18,10 @@
|
|
|
16
18
|
</tbody>
|
|
17
19
|
</table>
|
|
18
20
|
|
|
19
|
-
<h3><%= link_to 'Create new account', new_account_path %></h3>
|
|
20
|
-
|
|
21
21
|
<%= javascript_tag do %>
|
|
22
22
|
$(document).ready(function() {
|
|
23
23
|
$('#accounts-table').dataTable({
|
|
24
|
-
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
|
|
24
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
25
25
|
"sPaginationType": "bootstrap",
|
|
26
26
|
"bProcessing": true,
|
|
27
27
|
"bServerSide": true,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Account: <%= link_to "Billing timeline", kaui_engine.account_timeline_path(@account.account_id) %></h3>
|
|
2
|
+
|
|
1
3
|
<dl class="dl-horizontal">
|
|
2
4
|
<dt>Id:</dt>
|
|
3
5
|
<dd><%= @account.account_id %> </dd>
|
|
@@ -92,7 +94,6 @@
|
|
|
92
94
|
<dt>New base subscription:</dt>
|
|
93
95
|
<dd><%= link_to "Create", kaui_engine.new_subscription_path(:params => {:account_id => @account.account_id, :product_category => "BASE"}), :class => "btn btn-mini" %></dd>
|
|
94
96
|
</dl>
|
|
95
|
-
<h2><%= link_to "Billing timeline", kaui_engine.account_timeline_path(@account.account_id) %></h2>
|
|
96
97
|
<% if @payment_methods.present? %>
|
|
97
98
|
<%= render :partial => "kaui/payment_methods/payment_methods_table", :locals => {:account_id => @account.account_id, :payment_methods => @payment_methods} %>
|
|
98
99
|
<% end %>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Bundles</h3>
|
|
2
|
+
|
|
1
3
|
<table id="bundles-table" class="table table-condensed">
|
|
2
4
|
<thead>
|
|
3
5
|
<tr>
|
|
@@ -17,7 +19,7 @@
|
|
|
17
19
|
<%= javascript_tag do %>
|
|
18
20
|
$(document).ready(function() {
|
|
19
21
|
$('#bundles-table').dataTable({
|
|
20
|
-
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
|
|
22
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
21
23
|
"sPaginationType": "bootstrap",
|
|
22
24
|
"bProcessing": true,
|
|
23
25
|
"bServerSide": true,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Custom Fields</h3>
|
|
2
|
+
|
|
1
3
|
<table id="custom_fields-table" class="table table-condensed">
|
|
2
4
|
<thead>
|
|
3
5
|
<tr>
|
|
@@ -16,7 +18,7 @@
|
|
|
16
18
|
<%= javascript_tag do %>
|
|
17
19
|
$(document).ready(function() {
|
|
18
20
|
$('#custom_fields-table').dataTable({
|
|
19
|
-
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
|
|
21
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
20
22
|
"sPaginationType": "bootstrap",
|
|
21
23
|
"bProcessing": true,
|
|
22
24
|
"bServerSide": true,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Invoices</h3>
|
|
2
|
+
|
|
1
3
|
<table id="invoices-table" class="table table-condensed">
|
|
2
4
|
<thead>
|
|
3
5
|
<tr>
|
|
@@ -18,7 +20,7 @@
|
|
|
18
20
|
<%= javascript_tag do %>
|
|
19
21
|
$(document).ready(function() {
|
|
20
22
|
$('#invoices-table').dataTable({
|
|
21
|
-
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
|
|
23
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
22
24
|
"sPaginationType": "bootstrap",
|
|
23
25
|
"bProcessing": true,
|
|
24
26
|
"bServerSide": true,
|
|
@@ -7,16 +7,16 @@
|
|
|
7
7
|
<%= csrf_meta_tags %>
|
|
8
8
|
</head>
|
|
9
9
|
<body>
|
|
10
|
-
<div class="navbar navbar-inverse">
|
|
10
|
+
<div class="kauiNav navbar navbar-inverse">
|
|
11
11
|
<div class="navbar-inner">
|
|
12
12
|
<div class="container">
|
|
13
13
|
<ul class="nav">
|
|
14
14
|
<li <%= "class='active'" if params[:controller] == 'accounts' %>><%= link_to "Accounts", kaui_engine.accounts_path %></li>
|
|
15
15
|
<li <%= "class='active'" if params[:controller] == 'bundles' %>><%= link_to "Bundles", kaui_engine.bundles_path %></li>
|
|
16
16
|
<li <%= "class='active'" if params[:controller] == 'payments' %>><%= link_to "Payments", kaui_engine.payments_path %></li>
|
|
17
|
-
<li <%= "class='active'" if params[:controller] == 'payment_methods' %>><%= link_to "Payment
|
|
17
|
+
<li <%= "class='active'" if params[:controller] == 'payment_methods' %>><%= link_to "Payment Methods", kaui_engine.payment_methods_path %></li>
|
|
18
18
|
<li <%= "class='active'" if params[:controller] == 'invoices' %>><%= link_to "Invoices", kaui_engine.invoices_path %></li>
|
|
19
|
-
<li <%= "class='active'" if params[:controller] == 'tag_definitions' %>><%= link_to "Tag
|
|
19
|
+
<li <%= "class='active'" if params[:controller] == 'tag_definitions' %>><%= link_to "Tag Definitions", kaui_engine.tag_definitions_path %></li>
|
|
20
20
|
<li <%= "class='active'" if params[:controller] == 'tags' %>><%= link_to "Tags", kaui_engine.tags_path %></li>
|
|
21
21
|
<li <%= "class='active'" if params[:controller] == 'custom_fields' %>><%= link_to "Custom Fields", kaui_engine.custom_fields_path %></li>
|
|
22
22
|
</ul>
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Payment Methods</h3>
|
|
2
|
+
|
|
1
3
|
<table id="paymentMethods-table" class="table table-condensed">
|
|
2
4
|
<thead>
|
|
3
5
|
<tr>
|
|
@@ -18,7 +20,7 @@
|
|
|
18
20
|
<%= javascript_tag do %>
|
|
19
21
|
$(document).ready(function() {
|
|
20
22
|
$('#paymentMethods-table').dataTable({
|
|
21
|
-
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
|
|
23
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
22
24
|
"sPaginationType": "bootstrap",
|
|
23
25
|
"bProcessing": true,
|
|
24
26
|
"bServerSide": true,
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Payments</h3>
|
|
2
|
+
|
|
1
3
|
<table id="payments-table" class="table table-condensed">
|
|
2
4
|
<thead>
|
|
3
5
|
<tr>
|
|
@@ -18,7 +20,7 @@
|
|
|
18
20
|
<%= javascript_tag do %>
|
|
19
21
|
$(document).ready(function() {
|
|
20
22
|
$('#payments-table').dataTable({
|
|
21
|
-
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
|
|
23
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
22
24
|
"sPaginationType": "bootstrap",
|
|
23
25
|
"bProcessing": true,
|
|
24
26
|
"bServerSide": true,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<
|
|
1
|
+
<h3 class="pageHeader">Tag Definitions: <%= link_to 'New Tag Definition', kaui_engine.new_tag_definition_path %></h3>
|
|
2
2
|
|
|
3
3
|
<table id='invoice_table' class='table table-condensed data-table'>
|
|
4
4
|
<thead>
|
|
@@ -31,6 +31,4 @@
|
|
|
31
31
|
</tbody>
|
|
32
32
|
</table>
|
|
33
33
|
|
|
34
|
-
<br />
|
|
35
|
-
|
|
36
|
-
<%= link_to 'New Tag definition', kaui_engine.new_tag_definition_path, :class => 'btn btn-primary' %>
|
|
34
|
+
<br />
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
<h3 class="pageHeader">Tags</h3>
|
|
2
|
+
|
|
1
3
|
<table id="tags-table" class="table table-condensed">
|
|
2
4
|
<thead>
|
|
3
5
|
<tr>
|
|
@@ -16,7 +18,7 @@
|
|
|
16
18
|
<%= javascript_tag do %>
|
|
17
19
|
$(document).ready(function() {
|
|
18
20
|
$('#tags-table').dataTable({
|
|
19
|
-
"sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>",
|
|
21
|
+
"sDom": "<'row-fluid'<'span6'l><'span6 tableSearch'f>r>t<'row-fluid clearfix'<'span6 pull-left'i><'span6 pages pull-right'p>>",
|
|
20
22
|
"sPaginationType": "bootstrap",
|
|
21
23
|
"bProcessing": true,
|
|
22
24
|
"bServerSide": true,
|
data/kaui.gemspec
CHANGED
|
@@ -27,7 +27,7 @@ Gem::Specification.new do |s|
|
|
|
27
27
|
s.add_dependency 'money-rails', '~> 0.8.1'
|
|
28
28
|
s.add_dependency 'd3_rails', '~> 3.2.8'
|
|
29
29
|
s.add_dependency 'twitter-bootstrap-rails', '~> 2.2.8'
|
|
30
|
-
s.add_dependency 'killbill-client', '~> 0.
|
|
30
|
+
s.add_dependency 'killbill-client', '~> 0.13.0'
|
|
31
31
|
s.add_dependency 'devise', '~> 3.0.2'
|
|
32
32
|
s.add_dependency 'cancan', '~> 1.6.10'
|
|
33
33
|
s.add_dependency 'carmen-rails', '~> 1.0.0'
|
data/lib/kaui/version.rb
CHANGED
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.
|
|
4
|
+
version: 0.9.0
|
|
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: 2015-
|
|
11
|
+
date: 2015-05-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -86,14 +86,14 @@ dependencies:
|
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: 0.
|
|
89
|
+
version: 0.13.0
|
|
90
90
|
type: :runtime
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: 0.
|
|
96
|
+
version: 0.13.0
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: devise
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -497,7 +497,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
497
497
|
version: '0'
|
|
498
498
|
requirements: []
|
|
499
499
|
rubyforge_project:
|
|
500
|
-
rubygems_version: 2.
|
|
500
|
+
rubygems_version: 2.2.2
|
|
501
501
|
signing_key:
|
|
502
502
|
specification_version: 4
|
|
503
503
|
summary: Killbill Admin UI mountable engine
|