/**
  * duplicate activity
  * @param                       $activityId
  * @param IatiIdentifierRequest $request
  * @return mixed
  */
 public function duplicateActivityAction($activityId, IatiIdentifierRequest $request)
 {
     $activityData = $this->activityManager->getActivityData($activityId);
     if (Gate::denies('ownership', $activityData)) {
         return redirect()->route('activity.index')->withResponse($this->getNoPrivilegesMessage());
     }
     $this->authorize('add_activity', $activityData);
     $newItem = $activityData->replicate();
     $input = $request->all();
     $newItem->identifier = ["activity_identifier" => $input['activity_identifier'], "iati_identifier_text" => $input['iati_identifier_text']];
     $newItem->activity_workflow = 0;
     $newItem->published_to_registry = 0;
     $result = $this->activityManager->duplicateActivityAction($newItem);
     if (!$result) {
         $response = ['type' => 'danger', 'code' => ['duplication_failed', []]];
         return redirect()->back()->withInput()->withResponse($response);
     }
     $response = ['type' => 'success', 'code' => ['duplicated', ['url' => route('activity.show', [$newItem->id])]]];
     return redirect('/activity')->withResponse($response);
 }