Guest User

Untitled

a guest
Jul 18th, 2018
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.28 KB | None | 0 0
  1. ## models/project_note.js
  2.  
  3. sc_require('models/note');
  4.  
  5. RasCore.ProjectNote = RasCore.Note.extend(
  6.  
  7. /**
  8. The project this note belongs to
  9.  
  10. @property {RasCore.Project}
  11. */
  12. project: SC.Record.toOne('RasCore.Project', {inverse: 'notes', isMaster: YES}),
  13.  
  14. projectHasChanged: function() {
  15. var inverse = this.project.inverse;
  16. var project = this.get('project');
  17.  
  18. if (!SC.none(project)) {
  19. // if the project object is an ID
  20. if (!project.isProject) {
  21. project = RasCore.store.find(RasCore.Project, project);
  22. }
  23.  
  24. // if project is defined, add this note to its notes property
  25. if (project && project.get(inverse)) {
  26. project.get(inverse).addInverseRecord(this);
  27. }
  28. }
  29. }.observes('project'),
  30.  
  31. destroy: function() {
  32. var project = this.get('project');
  33. project.get('notes').removeInverseRecord(this);
  34.  
  35. sc_super();
  36. }
  37.  
  38. }) ;
  39.  
  40. ## models/project.js
  41.  
  42. RasCore.Project = RasCore.Record.extend(
  43.  
  44. isProject: YES,
  45.  
  46. /**
  47. The notes attached to this project
  48. */
  49. notes: SC.Record.toMany('RasCore.ProjectNote', {inverse: 'project', isMaster: NO, orderBy: function(a,b) {
  50. return SC.DateTime.compare(a.get('created'), b.get('created')) * -1;
  51. }}),
  52.  
  53. }) ;
Add Comment
Please, Sign In to add comment