Files
digiproof/js/controllers_asset.js
git@daemon.de 5992bf159b initial commit
2013-09-12 23:13:49 +02:00

101 lines
2.3 KiB
JavaScript

App.AssetsAssetController = Ember.ObjectController.extend({
isEditing: false,
orders: App.Order.find(),
errors: {},
edit: function() {
// prepare order to the actual object, not id
this.set('isEditing', true);
this.set('successors', App.Successor.find());
},
doneEditing: function() {
var validated = this.get('model').validate();
if(validated.valid){
this.set('isEditing', false);
this.get('model').get("store").commit();
}
else {
this.set('errors', validated);
this.set('isEditing', true);
}
},
cancelEditing: function() {
this.set('isEditing', false);
},
remove: function() {
var asset = this.get('model');
asset.deleteRecord();
asset.get("store").commit();
this.get("target").transitionTo("assets");
}
});
App.AssetsNewController = Ember.ArrayController.extend({
successors: App.Successor.find(),
orders: App.Order.find(),
next: 0,
selected_successor: 0,
selected_order: 0,
errors: {},
createNextAsset: function () {
this.set('next', 1);
this.createAsset();
},
createAsset: function () {
var name = this.get('name');
if (!name.trim()) { return; }
//console.log("successor: %o", this.get('order'));
var asset = App.Asset.createRecord({
name: name,
uri: this.get('uri'),
login: this.get('login'),
password: this.get('password'),
mail: this.get('mail'),
successor: this.get('successor'),
order: this.get('order'),
notes: this.get('notes')
});
var validated = asset.validate();
//console.log("validated: %o", validated);
if(! validated.valid) {
asset.deleteRecord();
this.set('errors', validated);
this.set('isEditing', true);
}
else {
// Save the new model
asset.get("store").commit();
// empty form fields so new entries starts from scratch
this.set('name', '');
this.set('uri', '');
this.set('login', '');
this.set('password', '');
this.set('mail', '');
this.set('order', '');
this.set('successor','');
this.set('notes', '');
if(this.get('next') == 1) {
this.get("target").transitionTo("assets.new");
}
else {
// redirect to newly created entry
this.get("target").transitionTo("assets.asset", asset);
}
}
}
});