Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

DataObjectManager Module

Discuss the DataObjectManager module, and the related ImageGallery module.

Moderators: martimiz, UncleCheese, Sean, biapar, Willr, Ingo, swaiba, simon_w

DataObject::delete() called on a DataObject without an ID


Reply

639 Views

Avatar
pinkp

11 March 2012 at 10:36am Community Member, 168 Posts

I have found some documentation on this error but don't really know how to fix it. Can someone help please.
When I try and remove an ImageGallery Page I get this error, I can unpublished or delete from draft. But not BOTH....

thanks

------------------------
500//ERROR [User Error]: Uncaught Exception: DataObject::delete() called on a DataObject without an ID
IN POST /mysite/admin/EditForm
Line 1126 in /Users/mysite/Sites/jcphotography/sapphire/core/model/DataObject.php

Source
======
1117:    */
1118:   public function delete() {
1119:      $this->brokenOnDelete = true;
1120:      $this->onBeforeDelete();
1121:      if($this->brokenOnDelete) {
1122:         user_error("$this->class has a broken onBeforeDelete() function. Make sure that you call
parent::onBeforeDelete().", E_USER_ERROR);
1123:      }
1124:      
1125:      // Deleting a record without an ID shouldn't do anything
* 1126:      if(!$this->ID) throw new Exception("DataObject::delete() called on a DataObject without an ID");
1127:      
1128:      foreach($this->getClassAncestry() as $ancestor) {
1129:         if(self::has_own_table($ancestor)) {
1130:            $sql = new SQLQuery();
1131:            $sql->delete = true;
1132:            $sql->from[$ancestor] = "\"$ancestor\"";

Trace
=====
<ul>DataObject->delete()
line 81 of ImageGalleryPage.php

ImageGalleryPage->onBeforeDelete()
line 1120 of DataObject.php

DataObject->delete()
line 696 of CMSMain.php

CMSMain->delete(Array,Form,SS_HTTPRequest)
line 329 of Form.php

Form->httpSubmission(SS_HTTPRequest)
line 143 of RequestHandler.php

RequestHandler->handleRequest(SS_HTTPRequest)
line 161 of RequestHandler.php

RequestHandler->handleRequest(SS_HTTPRequest)
line 147 of Controller.php

Controller->handleRequest(SS_HTTPRequest)
line 282 of Director.php

Director::handleRequest(SS_HTTPRequest,Session)
line 125 of Director.php

Director::direct(/admin/EditForm)
line 127 of main.php

</ul>
http://localhost:8888/mysite/cms/javascript/LeftAndMain.js?m=1328047220
Line 497