Added route and controller for editing hat
So that the person id is in the URL.
This commit is contained in:
parent
79c49eb996
commit
58ac24db8f
@ -52,7 +52,7 @@ use Drupal\user\UserInterface;
|
|||||||
* "canonical" = "/zencrm/hat/{hat}",
|
* "canonical" = "/zencrm/hat/{hat}",
|
||||||
* "add-page" = "/zencrm/hat/add",
|
* "add-page" = "/zencrm/hat/add",
|
||||||
* "add-form" = "/zencrm/hat/add/{hat_type}",
|
* "add-form" = "/zencrm/hat/add/{hat_type}",
|
||||||
* "edit-form" = "/zencrm/hat/{person}/{hat}/edit",
|
* "edit-form" = "/zencrm/hat/{hat}/edit",
|
||||||
* "delete-form" = "/zencrm/hat/{hat}/delete",
|
* "delete-form" = "/zencrm/hat/{hat}/delete",
|
||||||
* "collection" = "/zencrm/hat",
|
* "collection" = "/zencrm/hat",
|
||||||
* },
|
* },
|
||||||
|
@ -10,10 +10,10 @@ use Drupal\Core\Controller\ControllerBase;
|
|||||||
class HatController extends ControllerBase {
|
class HatController extends ControllerBase {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Hello.
|
* Displays a form for creating a hat.
|
||||||
|
* The type of hat and the person are prepopulated.
|
||||||
*
|
*
|
||||||
* @return string
|
* @return form for creating a hat
|
||||||
* Return Hello string.
|
|
||||||
*/
|
*/
|
||||||
public function createHatForPerson($person_id, $hat_type_id) {
|
public function createHatForPerson($person_id, $hat_type_id) {
|
||||||
$values = array(
|
$values = array(
|
||||||
@ -21,13 +21,34 @@ class HatController extends ControllerBase {
|
|||||||
'person' => $person_id
|
'person' => $person_id
|
||||||
);
|
);
|
||||||
|
|
||||||
$node = \Drupal::entityTypeManager()
|
$hat = \Drupal::entityTypeManager()
|
||||||
->getStorage('hat')
|
->getStorage('hat')
|
||||||
->create($values);
|
->create($values);
|
||||||
|
|
||||||
$form = \Drupal::entityTypeManager()
|
$form = \Drupal::entityTypeManager()
|
||||||
->getFormObject('hat', 'default')
|
->getFormObject('hat', 'default')
|
||||||
->setEntity($node);
|
->setEntity($hat);
|
||||||
|
return \Drupal::formBuilder()->getForm($form);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Displays a form for editing a hat.
|
||||||
|
* The reason it is here is that the URL needs to have the person id in it
|
||||||
|
* in order to filter the contact details entity reference view to only show ones for that person.
|
||||||
|
* (The intuitive way to bring this about - changing the edit route for the entity itself - causes problems with the delete route)
|
||||||
|
*
|
||||||
|
* @return form for editing a hat
|
||||||
|
*/
|
||||||
|
public function editHatForPerson($person_id, $hat_id) {
|
||||||
|
error_log("hjhjhjhj");
|
||||||
|
|
||||||
|
$hat = \Drupal::entityTypeManager()
|
||||||
|
->getStorage('hat')
|
||||||
|
->load($hat_id);
|
||||||
|
|
||||||
|
$form = \Drupal::entityTypeManager()
|
||||||
|
->getFormObject('hat', 'default')
|
||||||
|
->setEntity($hat);
|
||||||
return \Drupal::formBuilder()->getForm($form);
|
return \Drupal::formBuilder()->getForm($form);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6,6 +6,14 @@ zencrm.hat.create:
|
|||||||
requirements:
|
requirements:
|
||||||
_permission: 'access content'
|
_permission: 'access content'
|
||||||
|
|
||||||
|
zencrm.hat.edit:
|
||||||
|
path: '/zencrm/hat/{person_id}/{hat_id}/edit'
|
||||||
|
defaults:
|
||||||
|
_controller: '\Drupal\zencrm\Controller\HatController::editHatForPerson'
|
||||||
|
_title: 'Edit Hat'
|
||||||
|
requirements:
|
||||||
|
_permission: 'access content'
|
||||||
|
|
||||||
zencrm.contact_details.create:
|
zencrm.contact_details.create:
|
||||||
path: '/zencrm/contact_details/{person_id}/add'
|
path: '/zencrm/contact_details/{person_id}/add'
|
||||||
defaults:
|
defaults:
|
||||||
|
Reference in New Issue
Block a user