mirror of
https://git.rwth-aachen.de/acs/public/villas/web/
synced 2025-03-09 00:00:01 +01:00
Add project and user edit, add user email
This commit is contained in:
parent
548bbb5e15
commit
75c8464b6c
13 changed files with 119 additions and 6 deletions
21
app/controllers/project/edit.js
Normal file
21
app/controllers/project/edit.js
Normal file
|
@ -0,0 +1,21 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
actions: {
|
||||
saveEdit() {
|
||||
// save the changes
|
||||
var project = this.get('model');
|
||||
let projectId = project.get('id');
|
||||
var controller = this;
|
||||
|
||||
project.save().then(function() {
|
||||
controller.transitionToRoute('/project/' + projectId);
|
||||
});
|
||||
},
|
||||
|
||||
cancelEdit() {
|
||||
let projectId = this.get('model.id');
|
||||
this.transitionToRoute('/project/' + projectId);
|
||||
}
|
||||
}
|
||||
});
|
|
@ -18,8 +18,6 @@ export default Ember.Controller.extend({
|
|||
|
||||
// save the project and user
|
||||
project.save().then(function() {
|
||||
console.log(project.get('id'));
|
||||
|
||||
// add the project to the user
|
||||
user.get('projects').pushObject(project);
|
||||
|
||||
|
|
11
app/controllers/user/edit.js
Normal file
11
app/controllers/user/edit.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
import Ember from 'ember';
|
||||
|
||||
export default Ember.Controller.extend({
|
||||
actions: {
|
||||
changeUser() {
|
||||
// save the changes
|
||||
var user = this.get('model');
|
||||
user.save();
|
||||
}
|
||||
}
|
||||
});
|
|
@ -6,5 +6,6 @@ export default Model.extend({
|
|||
username: attr('string'),
|
||||
password: attr('string'),
|
||||
adminLevel: attr('number'),
|
||||
projects: hasMany('project', { async: true })
|
||||
projects: hasMany('project', { async: true }),
|
||||
mail: attr('string')
|
||||
});
|
||||
|
|
|
@ -15,6 +15,10 @@ Router.map(function() {
|
|||
this.route('edit', { path: '/edit/:projectid' });
|
||||
this.route('delete', { path: '/delete/:projectid' });
|
||||
});
|
||||
|
||||
this.route('user', function() {
|
||||
this.route('edit');
|
||||
});
|
||||
});
|
||||
|
||||
export default Router;
|
||||
|
|
|
@ -2,4 +2,7 @@ import Ember from 'ember';
|
|||
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
|
||||
|
||||
export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
||||
model(params) {
|
||||
return this.store.findRecord('project', params.projectid);
|
||||
}
|
||||
});
|
||||
|
|
12
app/routes/user/edit.js
Normal file
12
app/routes/user/edit.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
import Ember from 'ember';
|
||||
import AuthenticatedRouteMixin from 'ember-simple-auth/mixins/authenticated-route-mixin';
|
||||
|
||||
export default Ember.Route.extend(AuthenticatedRouteMixin, {
|
||||
sessionUser: Ember.inject.service('session-user'),
|
||||
|
||||
model() {
|
||||
// get session user
|
||||
var userId = this.get('sessionUser.user.id');
|
||||
return this.store.findRecord('user', userId);
|
||||
}
|
||||
});
|
|
@ -9,8 +9,8 @@
|
|||
<ul>
|
||||
<li>{{#link-to 'index'}}Home{{/link-to}}</li>
|
||||
<li>{{#link-to 'projects'}}Projects{{/link-to}}</li>
|
||||
<li>Preferences</li>
|
||||
<li><a {{action 'invalidateSession'}}>Logout</a></li>
|
||||
<li>{{#link-to 'user.edit'}}Preferences{{/link-to}}</li>
|
||||
<li><a href="" {{action 'invalidateSession'}}>Logout</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -1 +1,15 @@
|
|||
<h1>Edit {{model.name}}</h1>
|
||||
<h1>Edit project</h1>
|
||||
|
||||
<form id="project-edit-form" {{action 'saveEdit' on='submit'}} >
|
||||
<p>
|
||||
<label for="name">Name</label>
|
||||
{{input id='name' placeholder='Enter project name' value=model.name}}
|
||||
</p>
|
||||
|
||||
<button {{action 'cancelEdit'}}>Cancel</button>
|
||||
<button type="submit">Save</button>
|
||||
|
||||
{{#if errorMessage}}
|
||||
<p>{{errorMessage.message}}</p>
|
||||
{{/if}}
|
||||
</form>
|
||||
|
|
14
app/templates/user/edit.hbs
Normal file
14
app/templates/user/edit.hbs
Normal file
|
@ -0,0 +1,14 @@
|
|||
<h1>Preferences</h1>
|
||||
|
||||
<form id="user-edit-form" {{action 'changeUser' on='submit'}} >
|
||||
<p>
|
||||
<label for="username">Username</label>
|
||||
{{input id='username' value=model.username readonly=true}}
|
||||
</p>
|
||||
<p>
|
||||
<label for="mail">Mail</label>
|
||||
{{input id='mail' value=model.mail placeholder='Enter e-mail'}}
|
||||
</p>
|
||||
|
||||
<button type="submit">Save</button>
|
||||
</form>
|
12
tests/unit/controllers/project/edit-test.js
Normal file
12
tests/unit/controllers/project/edit-test.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
import { moduleFor, test } from 'ember-qunit';
|
||||
|
||||
moduleFor('controller:project/edit', 'Unit | Controller | project/edit', {
|
||||
// Specify the other units that are required for this test.
|
||||
// needs: ['controller:foo']
|
||||
});
|
||||
|
||||
// Replace this with your real tests.
|
||||
test('it exists', function(assert) {
|
||||
let controller = this.subject();
|
||||
assert.ok(controller);
|
||||
});
|
12
tests/unit/controllers/user/edit-test.js
Normal file
12
tests/unit/controllers/user/edit-test.js
Normal file
|
@ -0,0 +1,12 @@
|
|||
import { moduleFor, test } from 'ember-qunit';
|
||||
|
||||
moduleFor('controller:user/edit', 'Unit | Controller | user/edit', {
|
||||
// Specify the other units that are required for this test.
|
||||
// needs: ['controller:foo']
|
||||
});
|
||||
|
||||
// Replace this with your real tests.
|
||||
test('it exists', function(assert) {
|
||||
let controller = this.subject();
|
||||
assert.ok(controller);
|
||||
});
|
11
tests/unit/routes/user/edit-test.js
Normal file
11
tests/unit/routes/user/edit-test.js
Normal file
|
@ -0,0 +1,11 @@
|
|||
import { moduleFor, test } from 'ember-qunit';
|
||||
|
||||
moduleFor('route:user/edit', 'Unit | Route | user/edit', {
|
||||
// Specify the other units that are required for this test.
|
||||
// needs: ['controller:foo']
|
||||
});
|
||||
|
||||
test('it exists', function(assert) {
|
||||
let route = this.subject();
|
||||
assert.ok(route);
|
||||
});
|
Loading…
Add table
Reference in a new issue