1 | import Ember from 'ember';
|
2 |
|
3 | const { get, set } = Ember;
|
4 |
|
5 | export default Ember.Controller.extend({
|
6 | firstError: Ember.computed('model.errors.firstObject', function() {
|
7 | var model = get(this, 'model');
|
8 | var errorMessage = get(model, 'errors.firstObject');
|
9 |
|
10 | if (errorMessage) {
|
11 | var readableAttribute = errorMessage.attribute.dasherize().replace('-', ' ');
|
12 | return readableAttribute.capitalize() + ": " + errorMessage.message;
|
13 | }
|
14 | else {
|
15 | return null;
|
16 | }
|
17 | }),
|
18 |
|
19 | loginNewUser: function(username, password) {
|
20 | var previousTransition = get(this, 'previousTransition');
|
21 | var authenticationParams = {
|
22 | username: username,
|
23 | password: password
|
24 | };
|
25 |
|
26 | this.get('session').open('traditional-authentication', authenticationParams).then(() => {
|
27 | if (previousTransition) {
|
28 | set(this, 'previousTransition', null);
|
29 | previousTransition.retry();
|
30 | }
|
31 | else {
|
32 | this.transitionToRoute('/');
|
33 | }
|
34 | }, (error) => {
|
35 | console.log('Error authenticating new user: ', error);
|
36 |
|
37 |
|
38 | this.transitionTo('/');
|
39 | });
|
40 | },
|
41 |
|
42 | actions: {
|
43 | signup: function() {
|
44 | var model = get(this, 'model');
|
45 |
|
46 | var username = get(model, 'username');
|
47 | var password = get(model, 'password');
|
48 |
|
49 | model.get('errors').clear();
|
50 | model.save().then((/* user */) => {
|
51 | set(model, 'password', null);
|
52 | set(model, 'passwordConfirmation', null);
|
53 |
|
54 | this.loginNewUser(username, password);
|
55 |
|
56 | }, function(error) {
|
57 | console.log('Error creating new user: ', error);
|
58 | });
|
59 | }
|
60 | }
|
61 | });
|