Skip to content

Commit ed6a26f

Browse files
author
Samson
committed
Added more events
1 parent 3699e1b commit ed6a26f

6 files changed

Lines changed: 51 additions & 30 deletions

File tree

js/libs/events/events.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
define({
2-
NEW_USER: 'new-user'
2+
// USER RELATED
3+
NEW_USER: 'new-user',
4+
USER_LOGGED_IN: 'user-logged-in',
5+
USER_LOGGED_OUT: 'user-logged-out',
6+
37
});

js/models/billing/card.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ define([
44
], function(_, Backbone) {
55
var Card = Backbone.Model.extend({
66
url: function() {
7-
return '/user/' + this.get('login') + '/card';
7+
return '/user/' + this.login + '/card';
88
}
99
});
1010
return Card;

js/models/session.js

Lines changed: 8 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
define([
22
'underscore',
3-
'backbone'
4-
], function(_, Backbone) {
3+
'backbone',
4+
'libs/events/event_bus',
5+
'libs/events/events'
6+
], function(_, Backbone, EventBus, Events) {
57
var SessionModel = Backbone.Model.extend({
68

79
url: '/session',
@@ -20,25 +22,6 @@ define([
2022
jqXHR.setRequestHeader('X-CSRF-Token', that.get('csrf'));
2123
}
2224
});
23-
this.on('change:auth', function (model) {
24-
console.log('user details', model);
25-
if(model.get('auth')) {
26-
// mixpanel.people.identify(model.get('login'));
27-
// mixpanel.name_tag(model.get('login'));
28-
// mixpanel.people.set({
29-
// "$username": model.get('login'), // only special properties need the $
30-
// "$name": model.get('login'), // only special properties need the $
31-
// "$first_name": model.get('user').profile.name, // only special properties need the $
32-
// "$email": model.get('user').email, // only special properties need the $
33-
// "$created": model.get('user').profile.joindate,
34-
// company: model.get('user').profile.company
35-
36-
//});
37-
} else {
38-
// mixpanel.people.identify(null);
39-
}
40-
//mixpanel.people.identify("12148");
41-
});
4225
},
4326
defaults: {
4427

@@ -47,7 +30,9 @@ define([
4730
// Do a POST to /session and send the serialized form creds
4831
this.clear({silent: true});
4932
this.save(creds, {
50-
success: function () {},
33+
success: function () {
34+
EventBus.trigger(Events.USER_LOGGED_IN);
35+
},
5136
wait: true
5237
});
5338
},
@@ -58,6 +43,7 @@ define([
5843
success: function (model, resp) {
5944
// mixpanel.track('Logged out');
6045
// mixpanel.people.identify(null);
46+
EventBus.trigger(Events.USER_LOGGED_OUT);
6147

6248
// Set auth to false to trigger a change:auth event
6349
// The server also returns a new csrf token so that

js/setup/logging.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ define([
1616
eventCategory: 'app',
1717
eventAction: event
1818
})
19+
console.log('Event:', event);
1920
});
2021

2122
// Proxino Error tracking

js/views/settings/billing.js

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,42 @@ define([
55
'router',
66
'vm',
77
'models/session',
8-
'text!templates/settings/billing.html'
9-
], function($, _, Backbone, Router, Vm, Session, settingTemplate){
8+
'text!templates/settings/billing.html',
9+
'models/billing/card'
10+
], function($, _, Backbone, Router, Vm, Session, settingTemplate, Card){
1011
var SettingPage = Backbone.View.extend({
1112
el: '.settings-page-container',
1213
initialize: function () {
1314
},
1415
events: {
16+
'submit .billing-form': 'updateCreditCard'
1517
},
1618
render: function (options) {
1719
$('.settings-menu a').removeClass('active');
1820
$('.settings-menu .billing').addClass('active');
1921
this.$el.html(settingTemplate);
22+
},
23+
updateCreditCard: function (ev) {
24+
var formData = $(ev.currentTarget).serializeObject();
25+
var cardData = {
26+
card_number: formData.card_number,
27+
expiry: {
28+
month: formData.expiry_month,
29+
year: formData.expiry_year
30+
},
31+
ccv: formData.ccv,
32+
name: formData.name
33+
}
34+
var card = new Card();
35+
card.login = Session.get('login');
36+
card.save(cardData, {
37+
success: function () {
38+
console.log(arguments)
39+
}
40+
})
41+
42+
return false;
43+
2044
}
2145
});
2246
return SettingPage;

templates/settings/billing.html

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,17 +17,23 @@
1717
<span class="settings-title"><span class="arrows">»</span> Billing settings</span>
1818
</div>
1919
<div class="settings-page-contents">
20-
<form class="form">
20+
<form class="billing-form form">
2121
<div class="card-info-container">
2222
<span class="card-info-title">YOUR SECURITY IS OUR SECURITY</span>
2323
<p class="card-info-desc">We ensure that all API Engine payment details and transactions adhere to Payment Card Industry Data Security Standards (PCI-DSS) Procedures. </p>
2424
<div class="cards"></div>
2525
</div>
26-
<label>Card Holder Name</label>
27-
<input type="text" placeholder="Mr Joe Blogs" />
26+
<label>Card Holder Name</label>
27+
<input type="text" name="name" placeholder="Mr Joe Blogs" />
2828
<label>Credit Card Number</label>
29-
<input type="text" placeholder="XXXX XXXX XXXX XXXX" />
29+
<input type="text" name="card_number" placeholder="XXXX XXXX XXXX XXXX" />
3030

31+
<label>Expiry Month</label>
32+
<input type="text" name="expiry_month" placeholder="XX" />
33+
<label>Expiry Year</label>
34+
<input type="text" name="expiry_year" placeholder="XX" />
35+
<label>Security Number</label>
36+
<input type="text" name="ccv" placeholder="" />
3137
<div class="form-submit">
3238
<button type="submit" class="btn btn-blue">UPDATE</button>
3339
</div>

0 commit comments

Comments
 (0)