protected function configureSideMenu(MenuItemInterface $menu, $action, AdminInterface $childAdmin = null)
{
if (!$childAdmin && !in_array($action, array('edit'))) {
return;
}
$admin = $this->isChild() ? $this->getParent() : $this;
$id = $admin->getRequest()->get('id');
$menu->addChild($this->trans('sonata.order.sidemenu.link_order_edit', array(), 'SonataOrderBundle'), array('uri' => $admin->generateUrl('edit', array('id' => $id))));
$menu->addChild($this->trans('sonata.order.sidemenu.link_order_elements_list', array(), 'SonataOrderBundle'), array('uri' => $admin->generateUrl('sonata.order.admin.order_element.list', array('id' => $id))));
$order = $this->orderManager->findOneBy(array('id' => $id));
$invoice = $this->invoiceManager->findOneBy(array('reference' => $order->getReference()));
if (null === $invoice) {
$menu->addChild($this->trans('sonata.order.sidemenu.link_oRDER_TO_INVOICE_generate', array(), 'SonataOrderBundle'), array('uri' => $admin->generateUrl('generateInvoice', array('id' => $id))));
} else {
$menu->addChild($this->trans('sonata.order.sidemenu.link_oRDER_TO_INVOICE_edit', array(), 'SonataOrderBundle'), array('uri' => $this->getConfigurationPool()->getAdminByAdminCode('sonata.invoice.admin.invoice')->generateUrl('edit', array('id' => $invoice->getId()))));
}
}