protected function processField($field) { switch ($field->getName()) { case 'editionStatementOfResponsibility': case 'issuingJurisdictionAndDenomination': case 'noteOnPublishersSeries': case 'numberingWithinPublishersSeries': case 'otherTitleInformation': case 'otherTitleInformationOfPublishersSeries': case 'parallelTitleOfPublishersSeries': case 'standardNumber': case 'statementOfCoordinates': case 'statementOfProjection': case 'statementOfResponsibilityRelatingToPublishersSeries': case 'statementOfScaleArchitectural': case 'statementOfScaleCartographic': case 'titleProperOfPublishersSeries': case 'titleStatementOfResponsibility': $this->rad[$field->getName()] = $this->form->getValue($field->getName()); break; case 'type': $value = $filtered = array(); foreach ($this->form->getValue('type') as $item) { $params = $this->context->routing->parse(Qubit::pathInfo($item)); $resource = $params['_sf_route']->resource; $value[$resource->id] = $filtered[$resource->id] = $resource; } foreach ($this->relations as $item) { if (isset($value[$item->term->id])) { unset($filtered[$item->term->id]); } else { $item->delete(); } } foreach ($filtered as $item) { $relation = new QubitObjectTermRelation(); $relation->term = $item; $this->resource->objectTermRelationsRelatedByobjectId[] = $relation; } break; default: return parent::processField($field); } }
protected function processField($field) { switch ($field->getName()) { case 'type': $value = $filtered = array(); foreach ($this->form->getValue('type') as $item) { $params = $this->context->routing->parse(Qubit::pathInfo($item)); $resource = $params['_sf_route']->resource; $value[$resource->id] = $filtered[$resource->id] = $resource; } foreach ($this->relations as $item) { if (isset($value[$item->term->id])) { unset($filtered[$item->term->id]); } else { $item->delete(); } } foreach ($filtered as $item) { $relation = new QubitObjectTermRelation(); $relation->term = $item; $this->resource->objectTermRelationsRelatedByobjectId[] = $relation; } break; default: return parent::processField($field); } }
protected function processField($field) { switch ($field->getName()) { case 'creators': $value = $filtered = array(); foreach ($this->form->getValue('creators') as $item) { $params = $this->context->routing->parse(Qubit::pathInfo($item)); $resource = $params['_sf_route']->resource; $value[$resource->id] = $filtered[$resource->id] = $resource; } foreach ($this->events as $item) { if (isset($value[$item->actor->id])) { unset($filtered[$item->actor->id]); } else { if (!isset($this->request->sourceId)) { $item->delete(); } } } foreach ($filtered as $item) { $event = new QubitEvent(); $event->actor = $item; $event->typeId = QubitTerm::CREATION_ID; $this->resource->events[] = $event; } break; default: return parent::processField($field); } }