/**
  * Url handler for edit form
  *
  * @param HTTPRequest $request
  * @return Form
  */
 public function DetailEditForm($request)
 {
     // Get ID either from posted back value, or url parameter
     $id = $request->param('ID') ?: $request->postVar('ID');
     return $this->getDetailEditForm($id);
 }
 /**
  * Retrieves details for files that this field wishes to attache to the
  * client-side form
  *
  * @param HTTPRequest $request
  * @return HTTPResponse
  */
 public function attach(HTTPRequest $request)
 {
     if (!$request->isPOST()) {
         return $this->httpError(403);
     }
     if (!$this->canAttachExisting()) {
         return $this->httpError(403);
     }
     // Retrieve file attributes required by front end
     $return = array();
     $files = File::get()->byIDs($request->postVar('ids'));
     foreach ($files as $file) {
         $return[] = $this->encodeFileAttributes($file);
     }
     $response = new HTTPResponse(Convert::raw2json($return));
     $response->addHeader('Content-Type', 'application/json');
     return $response;
 }
 /**
  * Url handler for add to campaign form
  *
  * @param HTTPRequest $request
  * @return Form
  */
 public function addToCampaignForm($request)
 {
     // Get ID either from posted back value, or url parameter
     $id = $request->param('ID') ?: $request->postVar('ID');
     return $this->getAddToCampaignForm($id);
 }