-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPMController.php
More file actions
executable file
·135 lines (116 loc) · 3.61 KB
/
PMController.php
File metadata and controls
executable file
·135 lines (116 loc) · 3.61 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<?php
namespace PM\Bundle\ToolBundle\Framework;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Response;
/**
* Description of PMController
*
* @author sjoder
*/
class PMController extends Controller
{
const SESSION_FLASH_BAG_SUCCESS = 'success';
const SESSION_FLASH_BAG_ERROR = 'error';
/**
* Add FlashBag Message
*
* @param string $type
* @param string $message
* @param string|bool $translationDomain
*
* @return $this
*/
public function addSessionFlashBagMessage($type, $message, $translationDomain = 'messages')
{
if (false !== $translationDomain) {
$message = $this->get('translator')->trans($message, [], $translationDomain);
}
$this->get('session')->getFlashBag()->add($type, $message);
return $this;
}
/**
* Denied
*
* @param string $route
* @param array $routeParameters
* @param string $message
*
* @return Response
*/
public function denied($route, $routeParameters = [], $message = 'flash_bag.error.default')
{
$this->addSessionFlashBagMessage(self::SESSION_FLASH_BAG_ERROR, $message);
return $this->redirect($this->generateUrl($route, $routeParameters));
}
/**
* Saved
*
* @param string $route
* @param array $routeParameters
* @param string $message
* @param string|null $fragment
*
* @return Response
*/
public function saved($route, $routeParameters = [], $message = 'flash_bag.success.default', $fragment = null)
{
$this->addSessionFlashBagMessage(self::SESSION_FLASH_BAG_SUCCESS, $message);
$url = $this->generateUrl($route, $routeParameters);
if (null !== $fragment) {
$url = sprintf('%s#%s', $url, $fragment);
}
return $this->redirect($url);
}
/**
* Saved Ajax
*
* @param string $message
*
* @return Response
*/
public function savedAjax($message = 'flash_bag.success.default')
{
$this->addSessionFlashBagMessage(self::SESSION_FLASH_BAG_SUCCESS, $message);
return new Response('');
}
/**
* Saved with Object Routing
*
* @deprecated Object Routing will not be supported anymore in the near future
*
* @param string $type
* @param mixed $object
* @param string $message
* @param string|null $fragment
*
* @return RedirectResponse
*/
public function savedObject($type, $object, $message = 'flash_bag.success.default', $fragment = null)
{
$objectRouter = $this->get("bg_object_routing.object_router");
$this->addSessionFlashBagMessage(self::SESSION_FLASH_BAG_SUCCESS, $message);
$url = $objectRouter->generate($type, $object);
if (null !== $fragment) {
$url = sprintf('%s#%s', $url, $fragment);
}
return $this->redirect($url);
}
/**
* Denied with Object Routing
*
* @deprecated Object Routing will not be supported anymore in the near future
*
* @param string $type
* @param mixed $object
* @param string $message
*
* @return RedirectResponse
*/
public function deniedObject($type, $object, $message = 'flash_bag.error.default')
{
$objectRouter = $this->get("bg_object_routing.object_router");
$this->addSessionFlashBagMessage(self::SESSION_FLASH_BAG_ERROR, $message);
return $this->redirect($objectRouter->generate($type, $object));
}
}