show calendar of existing event in iMIP details panel
authorPhilipp Schüle <p.schuele@metaways.de>
Wed, 4 Jan 2012 12:11:35 +0000 (13:11 +0100)
committerPhilipp Schüle <p.schuele@metaways.de>
Wed, 4 Jan 2012 12:11:35 +0000 (13:11 +0100)
ASSIGNED - # 5204: organizer and calendar information is missing in
calendar display panel of email invitations
http://forge.tine20.org/mantisbt/view.php?id=5204

tine20/Calendar/js/Model.js
tine20/Calendar/js/iMIPDetailsPanel.js

index 16f9b5c..b09b3bb 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
  * @author      Cornelius Weiss <c.weiss@metaways.de>
- * @copyright   Copyright (c) 2007-2011 Metaways Infosystems GmbH (http://www.metaways.de)
+ * @copyright   Copyright (c) 2007-2012 Metaways Infosystems GmbH (http://www.metaways.de)
  */
 
 Ext.ns('Tine.Calendar', 'Tine.Calendar.Model');
@@ -513,14 +513,6 @@ Tine.Calendar.Model.Resource = Tine.Tinebase.data.Record.create(Tine.Tinebase.Mo
     containerProperty: null
 });
 
-/* lets try it with Ext.Direct
-Tine.Calendar.backend = new Tine.Calendar.Model.EventJsonBackend({
-    appName: 'Calendar',
-    modelName: 'Resource',
-    recordClass: Tine.Calendar.Model.Resource
-});
-*/
-
 /**
  * @namespace   Tine.Calendar.Model
  * @class       Tine.Calendar.Model.iMIP
@@ -534,6 +526,7 @@ Tine.Calendar.Model.iMIP = Tine.Tinebase.data.Record.create([
     {name: 'originator'},
     {name: 'userAgent'},
     {name: 'event'},
+    {name: 'existing_event'},
     {name: 'preconditions'}
 ], {
     appName: 'Calendar',
index 2b619bb..2cbcc85 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * @license     http://www.gnu.org/licenses/agpl.html AGPL Version 3
  * @author      Cornelius Weiss <c.weiss@metaways.de>
- * @copyright   Copyright (c) 2011 Metaways Infosystems GmbH (http://www.metaways.de)
+ * @copyright   Copyright (c) 2011-2012 Metaways Infosystems GmbH (http://www.metaways.de)
  */
 Ext.ns('Tine.Calendar');
 
@@ -49,7 +49,6 @@ Tine.Calendar.iMIPDetailsPanel = Ext.extend(Tine.Calendar.EventDetailsPanel, {
         try {
             this.app = Tine.Tinebase.appMgr.get('Calendar');
             
-            
             this.iMIPrecord = new Tine.Calendar.Model.iMIP(this.preparedPart.preparedData);
             if (! Ext.isFunction(this.iMIPrecord.get('event').beginEdit)) {
                 this.iMIPrecord.set('event', Tine.Calendar.backend.recordReader({
@@ -166,9 +165,15 @@ Tine.Calendar.iMIPDetailsPanel = Ext.extend(Tine.Calendar.EventDetailsPanel, {
                 preconditions = this.iMIPrecord.get('preconditions'),
                 method = this.iMIPrecord.get('method'),
                 event = this.iMIPrecord.get('event'),
+                existingEvent = this.iMIPrecord.get('existing_event'),
                 myAttenderRecord = event.getMyAttenderRecord(),
                 myAttenderstatus = myAttenderRecord ? myAttenderRecord.get('status') : null;
                 
+            // show container from existing event if exists
+            if (existingEvent && existingEvent.container_id) {
+                event.set('container_id', existingEvent.container_id);
+            }
+                
             // reset actions
             Ext.each(this.actions, function(action) {action.setHidden(true)});
             
@@ -238,7 +243,5 @@ Tine.Calendar.iMIPDetailsPanel = Ext.extend(Tine.Calendar.EventDetailsPanel, {
             
             singleRecordPanel.setVisible(false);
         }
-        
     }
-
-});
\ No newline at end of file
+});