Spaces:
No application file
No application file
| namespace MauticPlugin\MauticSocialBundle\Controller; | |
| use Mautic\CoreBundle\Controller\FormController; | |
| use Symfony\Component\Form\Form; | |
| use Symfony\Component\Form\FormInterface; | |
| use Symfony\Component\Form\FormView; | |
| use Symfony\Component\HttpFoundation\Request; | |
| use Symfony\Component\HttpFoundation\Response; | |
| class TweetController extends FormController | |
| { | |
| protected function getModelName(): string | |
| { | |
| return 'social.tweet'; | |
| } | |
| protected function getJsLoadMethodPrefix(): string | |
| { | |
| return 'socialTweet'; | |
| } | |
| protected function getRouteBase(): string | |
| { | |
| return 'mautic_tweet'; | |
| } | |
| protected function getSessionBase($objectId = null): string | |
| { | |
| return 'mautic_tweet'; | |
| } | |
| protected function getTemplateBase(): string | |
| { | |
| return '@MauticSocial/Tweet'; | |
| } | |
| protected function getTranslationBase(): string | |
| { | |
| return 'mautic.integration.Twitter'; | |
| } | |
| protected function getPermissionBase(): string | |
| { | |
| return 'mauticSocial:tweets'; | |
| } | |
| /** | |
| * Define options to pass to the form when it's being created. | |
| */ | |
| protected function getEntityFormOptions(): array | |
| { | |
| return [ | |
| 'update_select' => $this->getUpdateSelect(), | |
| 'allow_extra_fields' => true, | |
| ]; | |
| } | |
| /** | |
| * Get updateSelect value from request. | |
| * | |
| * @return string|bool | |
| */ | |
| public function getUpdateSelect() | |
| { | |
| $request = $this->getCurrentRequest(); | |
| return ('POST' === $request->getMethod()) | |
| ? $request->request->get('twitter_tweet[updateSelect]', false) | |
| : $request->get('updateSelect', false); | |
| } | |
| /** | |
| * Set custom form themes, etc. | |
| * | |
| * @param string $action | |
| */ | |
| protected function getFormView(FormInterface $form, $action): FormView | |
| { | |
| return $form->createView(); | |
| } | |
| /** | |
| * @param int $page | |
| */ | |
| public function indexAction(Request $request, $page = 1): Response | |
| { | |
| return parent::indexStandard($request, $page); | |
| } | |
| /** | |
| * Generates new form and processes post data. | |
| * | |
| * @return \Symfony\Component\HttpFoundation\JsonResponse|Response | |
| */ | |
| public function newAction(Request $request) | |
| { | |
| return parent::newStandard($request); | |
| } | |
| /** | |
| * Get the template file. | |
| */ | |
| protected function getTemplateName($file): string | |
| { | |
| if (('form.html.twig' === $file) && 1 == $this->getCurrentRequest()->get('modal')) { | |
| return '@MauticSocial/Tweet/form_modal.html.twig'; | |
| } | |
| return '@MauticSocial/'.$file; | |
| } | |
| /** | |
| * Generates edit form and processes post data. | |
| * | |
| * @param int $objectId | |
| * @param bool $ignorePost | |
| * | |
| * @return \Symfony\Component\HttpFoundation\JsonResponse|Response | |
| */ | |
| public function editAction(Request $request, $objectId, $ignorePost = false) | |
| { | |
| return parent::editStandard($request, $objectId, $ignorePost); | |
| } | |
| public function viewAction($objectId): Response | |
| { | |
| return $this->forward('MauticPlugin\MauticSocialBundle\Controller\TweetController::editAction', [ | |
| 'objectId' => $objectId, | |
| ]); | |
| } | |
| /** | |
| * @param int $objectId | |
| * | |
| * @return \Symfony\Component\HttpFoundation\JsonResponse|\Symfony\Component\HttpFoundation\RedirectResponse|Response | |
| */ | |
| public function cloneAction(Request $request, $objectId) | |
| { | |
| return parent::cloneStandard($request, $objectId); | |
| } | |
| /** | |
| * Deletes the entity. | |
| * | |
| * @param int $objectId | |
| * | |
| * @return \Symfony\Component\HttpFoundation\JsonResponse|\Symfony\Component\HttpFoundation\RedirectResponse | |
| */ | |
| public function deleteAction(Request $request, $objectId) | |
| { | |
| return parent::deleteStandard($request, $objectId); | |
| } | |
| /** | |
| * Deletes a group of entities. | |
| * | |
| * @return \Symfony\Component\HttpFoundation\JsonResponse|\Symfony\Component\HttpFoundation\RedirectResponse | |
| */ | |
| public function batchDeleteAction(Request $request) | |
| { | |
| return parent::batchDeleteStandard($request); | |
| } | |
| } | |