mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-12 21:34:25 +00:00
user: add change location for user in user menu
This commit is contained in:
parent
5905038425
commit
480e02af01
@ -305,29 +305,20 @@ class UserController extends CRUDController
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @param User $user
|
||||
* @return \Symfony\Component\Form\Form
|
||||
*/
|
||||
private function createEditLocationForm()
|
||||
{
|
||||
return $this->createForm(UserCurrentLocationType::class)
|
||||
->add('submit', SubmitType::class, ['label' => 'Change current location']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a form to edit the user current location.
|
||||
*
|
||||
* @Route("/{_locale}/main/user/{id}/current-location/edit", name="chill_main_user_currentlocation_edit")
|
||||
* @Route("/{_locale}/main/user/current-location/edit", name="chill_main_user_currentlocation_edit")
|
||||
*/
|
||||
public function editCurrentLocationAction(User $user, Request $request)
|
||||
public function editCurrentLocationAction(Request $request)
|
||||
{
|
||||
$editForm = $this->createEditLocationForm();
|
||||
$editForm->handleRequest($request);
|
||||
$user = $this->getUser();
|
||||
$form = $this->createForm(UserCurrentLocationType::class, $user)
|
||||
->add('submit', SubmitType::class, ['label' => 'Change current location'])
|
||||
->handleRequest($request);
|
||||
|
||||
if ($editForm->isSubmitted() && $editForm->isValid()) {
|
||||
$currentLocation = $editForm->get('location')->getData();
|
||||
if ($form->isSubmitted() && $form->isValid()) {
|
||||
$currentLocation = $form->get('currentLocation')->getData();
|
||||
|
||||
$user->setCurrentLocation($currentLocation);
|
||||
|
||||
@ -342,7 +333,7 @@ class UserController extends CRUDController
|
||||
|
||||
return $this->render('@ChillMain/User/edit_current_location.html.twig', [
|
||||
'entity' => $user,
|
||||
'edit_form' => $editForm->createView()
|
||||
'edit_form' => $form->createView()
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ class UserCurrentLocationType extends AbstractType
|
||||
public function buildForm(FormBuilderInterface $builder, array $options)
|
||||
{
|
||||
$builder
|
||||
->add('location', EntityType::class, [
|
||||
->add('currentLocation', EntityType::class, [
|
||||
'class' => Location::class,
|
||||
'choice_label' => function (Location $entity) {
|
||||
return $entity->getName();
|
||||
|
@ -6,7 +6,7 @@
|
||||
<h1>{{ 'Edit my current location'|trans }}</h1>
|
||||
|
||||
{{ form_start(edit_form) }}
|
||||
{{ form_row(edit_form.location) }}
|
||||
{{ form_row(edit_form.currentLocation) }}
|
||||
|
||||
<ul class="record_actions">
|
||||
<li class="cancel">
|
||||
|
@ -38,28 +38,37 @@ class UserMenuBuilder implements LocalMenuBuilderInterface
|
||||
{
|
||||
$this->tokenStorage = $tokenStorage;
|
||||
}
|
||||
|
||||
|
||||
public function buildMenu($menuId, \Knp\Menu\MenuItem $menu, array $parameters)
|
||||
{
|
||||
if ($this->tokenStorage->getToken()->getUser() instanceof User) {
|
||||
$menu
|
||||
->addChild(
|
||||
'Change location',
|
||||
['route' => 'chill_main_user_currentlocation_edit']
|
||||
)
|
||||
->setExtras([
|
||||
'order' => 99999999997
|
||||
]);
|
||||
$menu
|
||||
->addChild(
|
||||
'Change password',
|
||||
[ 'route' => 'change_my_password']
|
||||
['route' => 'change_my_password']
|
||||
)
|
||||
->setExtras([
|
||||
'order' => 99999999998
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
$menu
|
||||
->addChild(
|
||||
'Logout',
|
||||
'Logout',
|
||||
[
|
||||
'route' => 'logout'
|
||||
])
|
||||
]
|
||||
)
|
||||
->setExtras([
|
||||
'order'=> 99999999999,
|
||||
'order' => 99999999999,
|
||||
'icon' => 'power-off'
|
||||
]);
|
||||
}
|
||||
|
@ -177,8 +177,10 @@ Flags: Drapeaux
|
||||
User jobs: Métiers
|
||||
|
||||
# user page for current location
|
||||
Current location: Localisation actuelle
|
||||
Edit my current location: Éditer ma localisation actuelle
|
||||
Change current location: Changer ma localisation actuelle
|
||||
Change location: Changer ma localisation
|
||||
Current location successfully updated: Localisation actuelle mise à jour
|
||||
|
||||
#admin section for circles (old: scopes)
|
||||
|
Loading…
x
Reference in New Issue
Block a user