Skip to content

Commit 78aed17

Browse files
committed
remove embedded adapter (ember-data-extensions) and use core EmbeddedRecordMixin instead
1 parent 96c7c62 commit 78aed17

File tree

9 files changed

+29
-20
lines changed

9 files changed

+29
-20
lines changed

.gitignore

-3
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,3 @@
1818
.DS_Store
1919
Thumbs.db
2020
/coverage/*
21-
22-
# IDE
23-
/nbproject

app/controllers/poll.js

+2-6
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,8 @@ export default Ember.ObjectController.extend(Ember.Validations.Mixin, {
3939

4040
// save new user
4141
newUser.save().then(function(){
42-
self.get('model.users').then(function(users){
43-
// assign new user to poll
44-
users.pushObject(newUser);
45-
});
46-
// reload as workaround for bug: duplicated records after save
47-
self.get('model').reload();
42+
// assign new user to poll
43+
self.get('model.users').pushObject(newUser);
4844
});
4945
}
5046
},

app/index.html

-3
Original file line numberDiff line numberDiff line change
@@ -38,16 +38,13 @@
3838
<script src="/vendor/handlebars/handlebars.js"></script>
3939
<script src="/vendor/ember/ember.js"></script>
4040
<script src="/vendor/ember-data/ember-data.js"></script>
41-
<script src="/vendor/ember-data-extensions/dist/embedded-adapter.js"></script>
4241
<script src="/vendor/floatThead/dist/jquery.floatThead.js"></script>
4342
<!-- @endif -->
4443
<!-- @if dist=true -->
4544
<script src="/vendor/jquery/dist/jquery.min.js"></script>
4645
<script src="/vendor/handlebars/handlebars.runtime.js"></script>
4746
<script src="/vendor/ember/ember.prod.js"></script>
4847
<script src="/vendor/ember-data/ember-data.prod.js"></script>
49-
<!-- embedded adapter should use prod version but only works if ember is only prod version -->
50-
<script src="/vendor/ember-data-extensions/dist/embedded-adapter.js"></script>
5148
<script src="/vendor/floatThead/dist/jquery.floatThead.min.js"></script>
5249
<!-- @endif -->
5350

app/models/poll.js

+16-1
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,47 @@
11
export default DS.Model.extend({
2+
// relationship
3+
users : DS.hasMany('user'),
4+
5+
// properties
26
encryptedTitle : DS.attr('string'),
37
title : Ember.computed.encrypted('encryptedTitle', 'string'),
8+
49
encryptedDescription : DS.attr('string'),
510
description: Ember.computed.encrypted('encryptedDescription', 'string'),
11+
612
encryptedPollType : DS.attr('string'),
713
pollType : Ember.computed.encrypted('encryptedPollType', 'string'),
14+
815
encryptedAnswerType: DS.attr('string'),
916
answerType : Ember.computed.encrypted('encryptedAnswerType', 'string'),
17+
1018
encryptedAnswers : DS.attr('string'),
1119
answers : Ember.computed.encrypted('encryptedAnswers', 'array'),
20+
1221
encryptedOptions : DS.attr('string'),
1322
options : Ember.computed.encrypted('encryptedOptions', 'array'),
14-
users : DS.hasMany('user', {async: true}),
23+
1524
encryptedCreationDate : DS.attr('string'),
1625
creationDate : Ember.computed.encrypted('encryptedCreationDate', 'date'),
26+
1727
encryptedForceAnswer : DS.attr('string'),
1828
forceAnswer : Ember.computed.encrypted('encryptedForceAnswer', 'boolean'),
29+
1930
encryptedAnonymousUser : DS.attr('string'),
2031
anonymousUser : Ember.computed.encrypted('encryptedAnonymousUser', 'boolean'),
32+
2133
encryptedIsDateTime : DS.attr('string'),
2234
isDateTime : Ember.computed.encrypted('encryptedIsDateTime', 'boolean'),
2335

36+
// computed properties
2437
isFindADate: function() {
2538
return this.get('pollType') === 'FindADate';
2639
}.property('pollType'),
40+
2741
isFreeText: function() {
2842
return this.get('answerType') === 'FreeText';
2943
}.property('answerType'),
44+
3045
isMakeAPoll: function() {
3146
return this.get('pollType') === 'MakeAPoll';
3247
}.property('pollType')

app/models/user.js

+5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
export default DS.Model.extend({
2+
// relationship
23
poll : DS.belongsTo('poll'),
4+
5+
// properties
36
encryptedName : DS.attr('string'),
47
name : Ember.computed.encrypted('encryptedName', 'string'),
8+
59
encryptedSelections : DS.attr('string'),
610
selections : Ember.computed.encrypted('encryptedSelections', 'array'),
11+
712
encryptedCreationDate : DS.attr('string'),
813
creationDate : Ember.computed.encrypted('encryptedCreationDate', 'date')
914
});

app/serializers/application.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
export default DS.EmbeddedSerializer.extend();
1+
export default DS.RESTSerializer.extend();

app/serializers/poll.js

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
export default DS.EmbeddedSerializer.extend({
2-
attrs: {
3-
users: {embedded: 'load'}
4-
}
1+
export default App.PostSerializer = DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
2+
attrs: {
3+
users: {embedded: 'always'}
4+
}
55
});

bower.json

-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
"bootstrap": "~3.2.0",
1919
"bootstrap-datepicker": "~1.3.0",
2020
"ember-forms": "f6456c334a07950365ecfebd087596dedc1bdec5",
21-
"ember-data-extensions": "~1.0.0",
2221
"floatThead": "~1.2.8"
2322
},
2423
"resolutions": {

public/api.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
case "users":
8080
// get poll id from user data
8181
$data_decoded = json_decode($data);
82-
$poll_id = $data_decoded->user->poll_id;
82+
$poll_id = $data_decoded->user->poll;
8383

8484
$newId = $datahandler->writeUser($poll_id, $data);
8585
break;

0 commit comments

Comments
 (0)