@@ -57,8 +57,8 @@ discard block |
||
57 | 57 | { |
58 | 58 | $repo = static::$jobRepo; |
59 | 59 | $results = $repo->findBy(['user' => $user]); |
60 | - foreach($results as $result){ |
|
61 | - $repo->remove($result,true); |
|
60 | + foreach ($results as $result) { |
|
61 | + $repo->remove($result, true); |
|
62 | 62 | } |
63 | 63 | } |
64 | 64 | |
@@ -70,7 +70,7 @@ discard block |
||
70 | 70 | public function beforeScenario(BeforeScenarioScope $scope) |
71 | 71 | { |
72 | 72 | $this->select2Context = $scope->getEnvironment()->getContext(Select2Context::class); |
73 | - if(is_null(static::$jobRepo)){ |
|
73 | + if (is_null(static::$jobRepo)) { |
|
74 | 74 | $this->gatherContexts($scope); |
75 | 75 | static::$jobRepo = $this->getJobRepository(); |
76 | 76 | } |
@@ -89,7 +89,7 @@ discard block |
||
89 | 89 | */ |
90 | 90 | public function iGoToCreateJob() |
91 | 91 | { |
92 | - $url = $this->generateUrl('lang/jobs/manage',['action' => 'edit']); |
|
92 | + $url = $this->generateUrl('lang/jobs/manage', ['action' => 'edit']); |
|
93 | 93 | $this->visit($url); |
94 | 94 | } |
95 | 95 | |
@@ -109,11 +109,11 @@ discard block |
||
109 | 109 | public function iGoToEditJobWithTitle($jobTitle) |
110 | 110 | { |
111 | 111 | $job = $this->getJobRepository()->findOneBy(['title' => $jobTitle]); |
112 | - if(!$job instanceof Job){ |
|
113 | - throw new \Exception(sprintf('Job with title "%s" is not found',$jobTitle)); |
|
112 | + if (!$job instanceof Job) { |
|
113 | + throw new \Exception(sprintf('Job with title "%s" is not found', $jobTitle)); |
|
114 | 114 | } |
115 | 115 | $this->currentJob = $job; |
116 | - $url = $this->generateUrl('lang/jobs/manage',[ |
|
116 | + $url = $this->generateUrl('lang/jobs/manage', [ |
|
117 | 117 | 'id' => $job->getId() |
118 | 118 | ]); |
119 | 119 | $this->visit($url); |
@@ -139,8 +139,8 @@ discard block |
||
139 | 139 | |
140 | 140 | $jobRepository = $this->getJobRepository(); |
141 | 141 | $results = $jobRepository->getUserJobs($user->getId()); |
142 | - foreach($results as $job){ |
|
143 | - $jobRepository->remove($job,true); |
|
142 | + foreach ($results as $job) { |
|
143 | + $jobRepository->remove($job, true); |
|
144 | 144 | } |
145 | 145 | $this->currentJob = null; |
146 | 146 | } |
@@ -149,16 +149,16 @@ discard block |
||
149 | 149 | * @When I fill job location search with :search and choose :choice |
150 | 150 | * |
151 | 151 | */ |
152 | - public function iFillJobLocationAndChoose($search,$choice) |
|
152 | + public function iFillJobLocationAndChoose($search, $choice) |
|
153 | 153 | { |
154 | 154 | $select2 = $this->select2Context; |
155 | - $select2->iFillInSelect2FieldWith('jobBase[geoLocation]',$search,$choice); |
|
155 | + $select2->iFillInSelect2FieldWith('jobBase[geoLocation]', $search, $choice); |
|
156 | 156 | } |
157 | 157 | |
158 | 158 | /** |
159 | 159 | * @When I choose :value from :field |
160 | 160 | */ |
161 | - public function iJobClassificationSelect($value,$field) |
|
161 | + public function iJobClassificationSelect($value, $field) |
|
162 | 162 | { |
163 | 163 | $field = Inflector::camelize($field); |
164 | 164 | |
@@ -174,18 +174,18 @@ discard block |
||
174 | 174 | 'employmentTypes' => "select#classifications-employmentTypes", |
175 | 175 | ]; |
176 | 176 | |
177 | - if(!isset($mapSelect2[$field])){ |
|
177 | + if (!isset($mapSelect2[$field])) { |
|
178 | 178 | throw new \Exception('Undefined field selection value "'.$field.'"'); |
179 | 179 | } |
180 | 180 | |
181 | 181 | $multipleField = $mapMultiple[$field]; |
182 | 182 | $page = $this->minkContext->getSession()->getPage(); |
183 | - $element = $page->find('css',$mapMultiple[$field]); |
|
184 | - if(!is_null($element) && $element->getAttribute('multiple')=='multiple'){ |
|
185 | - $this->minkContext->selectOption($value,$multipleField); |
|
186 | - }else{ |
|
183 | + $element = $page->find('css', $mapMultiple[$field]); |
|
184 | + if (!is_null($element) && $element->getAttribute('multiple') == 'multiple') { |
|
185 | + $this->minkContext->selectOption($value, $multipleField); |
|
186 | + } else { |
|
187 | 187 | $locator = $mapSelect2[$field]; |
188 | - $this->select2Context->iFillInSelect2Field($locator,$value); |
|
188 | + $this->select2Context->iFillInSelect2Field($locator, $value); |
|
189 | 189 | } |
190 | 190 | } |
191 | 191 | |
@@ -209,62 +209,62 @@ discard block |
||
209 | 209 | * @When I have a :status job with the following: |
210 | 210 | * @param TableNode $fields |
211 | 211 | */ |
212 | - public function iHaveAJobWithTheFollowing($status,TableNode $fields) |
|
212 | + public function iHaveAJobWithTheFollowing($status, TableNode $fields) |
|
213 | 213 | { |
214 | 214 | $normalizedField = [ |
215 | 215 | 'template' => 'modern', |
216 | 216 | ]; |
217 | - foreach($fields->getRowsHash() as $field => $value){ |
|
217 | + foreach ($fields->getRowsHash() as $field => $value) { |
|
218 | 218 | $field = Inflector::camelize($field); |
219 | - if($field == 'professions' || $field == 'industries'){ |
|
220 | - $value = explode(',',$value); |
|
219 | + if ($field == 'professions' || $field == 'industries') { |
|
220 | + $value = explode(',', $value); |
|
221 | 221 | } |
222 | 222 | $normalizedField[$field] = $value; |
223 | 223 | } |
224 | 224 | $jobRepo = $this->getJobRepository(); |
225 | 225 | $job = $jobRepo->findOneBy(['title' => $normalizedField['title']]); |
226 | - if(!$job instanceof Job){ |
|
226 | + if (!$job instanceof Job) { |
|
227 | 227 | $job = new Job(); |
228 | 228 | $job->setTitle($normalizedField['title']); |
229 | 229 | } |
230 | - if(isset($normalizedField['user'])){ |
|
230 | + if (isset($normalizedField['user'])) { |
|
231 | 231 | /* @var $userRepo UserRepository */ |
232 | 232 | $user = $this->getUserContext()->getCurrentUser(); |
233 | 233 | $jobRepo->getDocumentManager()->refresh($user); |
234 | - if($user instanceof User){ |
|
234 | + if ($user instanceof User) { |
|
235 | 235 | $job->setUser($user); |
236 | 236 | $job->setOrganization($user->getOrganization()->getOrganization()); |
237 | - }else{ |
|
237 | + } else { |
|
238 | 238 | throw new \Exception('There is no user with this login:"'.$normalizedField['user'.'"']); |
239 | 239 | } |
240 | 240 | } |
241 | 241 | |
242 | - if($status == 'draft'){ |
|
242 | + if ($status == 'draft') { |
|
243 | 243 | $job->setIsDraft(true); |
244 | - }elseif($status == 'published'){ |
|
244 | + }elseif ($status == 'published') { |
|
245 | 245 | $job->setIsDraft(false); |
246 | 246 | $job->setDatePublishStart(new \DateTime()); |
247 | 247 | } |
248 | 248 | $job->setStatus(Status::ACTIVE); |
249 | 249 | |
250 | - if(isset($normalizedField['location'])){ |
|
251 | - $this->setLocation($job,$normalizedField['location']); |
|
250 | + if (isset($normalizedField['location'])) { |
|
251 | + $this->setLocation($job, $normalizedField['location']); |
|
252 | 252 | } |
253 | - if(isset($normalizedField['companyName'])){ |
|
253 | + if (isset($normalizedField['companyName'])) { |
|
254 | 254 | //$job->setCompany($normalizedField['companyName']); |
255 | 255 | } |
256 | - if(isset($normalizedField['professions'])){ |
|
257 | - $this->addProfessions($job,$normalizedField['professions']); |
|
256 | + if (isset($normalizedField['professions'])) { |
|
257 | + $this->addProfessions($job, $normalizedField['professions']); |
|
258 | 258 | } |
259 | 259 | |
260 | - if(isset($normalizedField['industries'])){ |
|
261 | - $this->addIndustries($job,$normalizedField['industries']); |
|
260 | + if (isset($normalizedField['industries'])) { |
|
261 | + $this->addIndustries($job, $normalizedField['industries']); |
|
262 | 262 | } |
263 | - if(isset($normalizedField['employmentTypes'])){ |
|
263 | + if (isset($normalizedField['employmentTypes'])) { |
|
264 | 264 | $types = $this->getCategories([$normalizedField['employmentTypes']]); |
265 | 265 | $type = array_shift($types); |
266 | 266 | $values = $job->getClassifications()->getEmploymentTypes()->getValues(); |
267 | - if(!is_array($values) || !in_array($type,$values)){ |
|
267 | + if (!is_array($values) || !in_array($type, $values)) { |
|
268 | 268 | $job->getClassifications()->getEmploymentTypes()->getItems()->add($type); |
269 | 269 | } |
270 | 270 | } |
@@ -283,18 +283,18 @@ discard block |
||
283 | 283 | $location->fromString($serialized); |
284 | 284 | |
285 | 285 | $locations = $job->getLocations(); |
286 | - if(count($locations)){ |
|
286 | + if (count($locations)) { |
|
287 | 287 | $locations->clear(); |
288 | 288 | } |
289 | 289 | $job->getLocations()->add($location); |
290 | 290 | } |
291 | 291 | |
292 | - private function addProfessions(Job &$job,$terms) |
|
292 | + private function addProfessions(Job &$job, $terms) |
|
293 | 293 | { |
294 | 294 | $professions = $this->getCategories($terms); |
295 | - foreach($professions as $profession){ |
|
295 | + foreach ($professions as $profession) { |
|
296 | 296 | $values = $job->getClassifications()->getProfessions()->getValues(); |
297 | - if(!is_array($values) || !in_array($profession,$values)){ |
|
297 | + if (!is_array($values) || !in_array($profession, $values)) { |
|
298 | 298 | $job->getClassifications()->getProfessions()->getItems()->add($profession); |
299 | 299 | } |
300 | 300 | } |
@@ -303,9 +303,9 @@ discard block |
||
303 | 303 | private function addIndustries(Job &$job, $terms) |
304 | 304 | { |
305 | 305 | $industries = $this->getCategories($terms); |
306 | - foreach($industries as $industry){ |
|
306 | + foreach ($industries as $industry) { |
|
307 | 307 | $values = $job->getClassifications()->getIndustries()->getValues(); |
308 | - if(!is_array($values) || !in_array($industry,$values)){ |
|
308 | + if (!is_array($values) || !in_array($industry, $values)) { |
|
309 | 309 | $job->getClassifications()->getIndustries()->getItems()->add($industry); |
310 | 310 | } |
311 | 311 | } |
@@ -340,7 +340,7 @@ discard block |
||
340 | 340 | |
341 | 341 | $job = $repo->findDraft($user); |
342 | 342 | |
343 | - if(is_null($job)){ |
|
343 | + if (is_null($job)) { |
|
344 | 344 | $job = new Job(); |
345 | 345 | $job |
346 | 346 | ->setUser($user) |
@@ -13,7 +13,7 @@ discard block |
||
13 | 13 | ], |
14 | 14 | ], |
15 | 15 | 'annotation' => [ |
16 | - 'paths' => [ __DIR__ . '/../src/Organizations/Entity'] |
|
16 | + 'paths' => [__DIR__.'/../src/Organizations/Entity'] |
|
17 | 17 | ], |
18 | 18 | ], |
19 | 19 | 'eventmanager' => [ |
@@ -40,7 +40,7 @@ discard block |
||
40 | 40 | 'translation_file_patterns' => [ |
41 | 41 | [ |
42 | 42 | 'type' => 'gettext', |
43 | - 'base_dir' => __DIR__ . '/../language', |
|
43 | + 'base_dir' => __DIR__.'/../language', |
|
44 | 44 | 'pattern' => '%s.mo', |
45 | 45 | ], |
46 | 46 | ], |
@@ -49,9 +49,9 @@ discard block |
||
49 | 49 | |
50 | 50 | 'controllers' => [ |
51 | 51 | 'factories' => [ |
52 | - 'Organizations/InviteEmployee' => [\Organizations\Controller\InviteEmployeeController::class,'factory'], |
|
52 | + 'Organizations/InviteEmployee' => [\Organizations\Controller\InviteEmployeeController::class, 'factory'], |
|
53 | 53 | 'Organizations/Index' => 'Organizations\Factory\Controller\IndexControllerFactory', |
54 | - 'Organizations/Profile' => [\Organizations\Controller\ProfileController::class,'factory'] |
|
54 | + 'Organizations/Profile' => [\Organizations\Controller\ProfileController::class, 'factory'] |
|
55 | 55 | ] |
56 | 56 | ], |
57 | 57 | |
@@ -66,18 +66,18 @@ discard block |
||
66 | 66 | 'view_manager' => [ |
67 | 67 | // Map template to files. Speeds up the lookup through the template stack. |
68 | 68 | 'template_map' => [ |
69 | - 'organizations/index/edit' => __DIR__ . '/../view/organizations/index/form.phtml', |
|
70 | - 'organizations/form/employees-fieldset' => __DIR__ . '/../view/form/employees-fieldset.phtml', |
|
71 | - 'organizations/form/employee-fieldset' => __DIR__ .'/../view/form/employee-fieldset.phtml', |
|
72 | - 'organizations/form/invite-employee-bar' => __DIR__ . '/../view/form/invite-employee-bar.phtml', |
|
73 | - 'organizations/error/no-parent' => __DIR__ . '/../view/error/no-parent.phtml', |
|
74 | - 'organizations/error/invite' => __DIR__ . '/../view/error/invite.phtml', |
|
75 | - 'organizations/mail/invite-employee' => __DIR__ . '/../view/mail/invite-employee.phtml', |
|
76 | - 'organizations/form/workflow-fieldset' => __DIR__ . '/../view/form/workflow-fieldset.phtml', |
|
69 | + 'organizations/index/edit' => __DIR__.'/../view/organizations/index/form.phtml', |
|
70 | + 'organizations/form/employees-fieldset' => __DIR__.'/../view/form/employees-fieldset.phtml', |
|
71 | + 'organizations/form/employee-fieldset' => __DIR__.'/../view/form/employee-fieldset.phtml', |
|
72 | + 'organizations/form/invite-employee-bar' => __DIR__.'/../view/form/invite-employee-bar.phtml', |
|
73 | + 'organizations/error/no-parent' => __DIR__.'/../view/error/no-parent.phtml', |
|
74 | + 'organizations/error/invite' => __DIR__.'/../view/error/invite.phtml', |
|
75 | + 'organizations/mail/invite-employee' => __DIR__.'/../view/mail/invite-employee.phtml', |
|
76 | + 'organizations/form/workflow-fieldset' => __DIR__.'/../view/form/workflow-fieldset.phtml', |
|
77 | 77 | ], |
78 | 78 | // Where to look for view templates not mapped above |
79 | 79 | 'template_path_stack' => [ |
80 | - __DIR__ . '/../view', |
|
80 | + __DIR__.'/../view', |
|
81 | 81 | ], |
82 | 82 | ], |
83 | 83 | 'form_elements' => [ |
@@ -147,11 +147,11 @@ discard block |
||
147 | 147 | 'allow' => [ |
148 | 148 | 'Entity/OrganizationImage', |
149 | 149 | 'route/lang/organizations/invite', |
150 | - 'Organizations/InviteEmployee' => [ 'accept' ], |
|
150 | + 'Organizations/InviteEmployee' => ['accept'], |
|
151 | 151 | ], |
152 | 152 | 'deny' => [ |
153 | 153 | 'route/lang/organizations', |
154 | - 'Organizations/InviteEmployee' => [ 'invite' ], |
|
154 | + 'Organizations/InviteEmployee' => ['invite'], |
|
155 | 155 | ], |
156 | 156 | ], |
157 | 157 | // recruiters are allowed to view their companies |
@@ -159,7 +159,7 @@ discard block |
||
159 | 159 | 'allow' => [ |
160 | 160 | 'route/lang/organizations', |
161 | 161 | 'Organizations/InviteEmployee', |
162 | - 'Entity/Organization' => [ 'edit' => 'Organizations/Write' ], |
|
162 | + 'Entity/Organization' => ['edit' => 'Organizations/Write'], |
|
163 | 163 | ], |
164 | 164 | ], |
165 | 165 | ], |
@@ -175,8 +175,8 @@ discard block |
||
175 | 175 | 'organizations' => [ |
176 | 176 | 'label' => 'Organizations', |
177 | 177 | 'route' => 'lang/organizations', |
178 | - 'order' => 65, // allows to order the menu items |
|
179 | - 'resource' => 'route/lang/organizations', // if a resource is defined, the acl will be applied. |
|
178 | + 'order' => 65, // allows to order the menu items |
|
179 | + 'resource' => 'route/lang/organizations', // if a resource is defined, the acl will be applied. |
|
180 | 180 | |
181 | 181 | 'pages' => [ |
182 | 182 | 'list' => [ |
@@ -49,7 +49,7 @@ discard block |
||
49 | 49 | $core = $scope->getEnvironment()->getContext(CoreContext::class); |
50 | 50 | /* @var FileTransport $transport */ |
51 | 51 | $transport = $core->getServiceManager()->get('Core/MailService')->getTransport(); |
52 | - $path = $transport->getOptions()->getPath() . '/*.eml'; |
|
52 | + $path = $transport->getOptions()->getPath().'/*.eml'; |
|
53 | 53 | foreach (glob($path) as $filename) { |
54 | 54 | unlink($filename); |
55 | 55 | } |
@@ -105,25 +105,25 @@ discard block |
||
105 | 105 | $regex = '/.*('.preg_quote($text).').*/im'; |
106 | 106 | $matches = []; |
107 | 107 | $multiMessages = false; |
108 | - if(count($this->messages) > 1){ |
|
108 | + if (count($this->messages) > 1) { |
|
109 | 109 | $multiMessages = true; |
110 | 110 | } |
111 | 111 | $content = ""; |
112 | - foreach($this->messages as $key=>$definition){ |
|
112 | + foreach ($this->messages as $key=>$definition) { |
|
113 | 113 | $content = $definition['contents']; |
114 | - if(preg_match($regex,$content,$match)){ |
|
114 | + if (preg_match($regex, $content, $match)) { |
|
115 | 115 | $matches[] = $match; |
116 | 116 | } |
117 | 117 | } |
118 | - $failMessage = sprintf('Can not find text "%s" in any email sent',$text); |
|
119 | - if(!$multiMessages){ |
|
118 | + $failMessage = sprintf('Can not find text "%s" in any email sent', $text); |
|
119 | + if (!$multiMessages) { |
|
120 | 120 | $failMessage = sprintf( |
121 | 121 | 'Can not find text "%s" in sent email. Here\'s the email content: %s', |
122 | 122 | $text, |
123 | 123 | PHP_EOL.PHP_EOL.$content |
124 | 124 | ); |
125 | 125 | } |
126 | - Assert::true(count($matches)>0,$failMessage); |
|
126 | + Assert::true(count($matches) > 0, $failMessage); |
|
127 | 127 | } |
128 | 128 | |
129 | 129 | /** |
@@ -136,16 +136,16 @@ discard block |
||
136 | 136 | |
137 | 137 | $path = $transport->getOptions()->getPath().'/*.eml'; |
138 | 138 | |
139 | - foreach(glob($path) as $filename){ |
|
139 | + foreach (glob($path) as $filename) { |
|
140 | 140 | $id = md5($filename); |
141 | - if(!isset($this->messages[$id])){ |
|
141 | + if (!isset($this->messages[$id])) { |
|
142 | 142 | $contents = file_get_contents($filename); |
143 | - $this->messages[$id] = $this->parseEmail($contents); |
|
143 | + $this->messages[$id] = $this->parseEmail($contents); |
|
144 | 144 | } |
145 | 145 | } |
146 | 146 | |
147 | 147 | Assert::true( |
148 | - count($this->messages)>0, |
|
148 | + count($this->messages) > 0, |
|
149 | 149 | 'No email have been sent' |
150 | 150 | ); |
151 | 151 | } |
@@ -153,33 +153,33 @@ discard block |
||
153 | 153 | private function parseEmail($contents) |
154 | 154 | { |
155 | 155 | $addresses = $this->parseEmailAddress($contents); |
156 | - $subject =$this->parseSubject($contents); |
|
156 | + $subject = $this->parseSubject($contents); |
|
157 | 157 | |
158 | 158 | $contents = strip_tags($contents); |
159 | 159 | $contents = preg_replace("/(^[\r\n]*|[\r\n]+)[\s\t]*[\r\n]+/", "\n", $contents); |
160 | 160 | |
161 | - return array_merge($addresses,$subject,['contents' => $contents]); |
|
161 | + return array_merge($addresses, $subject, ['contents' => $contents]); |
|
162 | 162 | } |
163 | 163 | |
164 | 164 | private function parseEmailAddress($contents) |
165 | 165 | { |
166 | 166 | // pattern to get email address |
167 | - $radd = '(\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\b)'; |
|
167 | + $radd = '(\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,6}\b)'; |
|
168 | 168 | |
169 | 169 | // get email from address |
170 | - $regex = sprintf('/^From\:.*%s/im',$radd); |
|
171 | - $hasMatch = preg_match($regex,$contents,$matches); |
|
172 | - $fromAddress = $hasMatch ? $matches[1]:null; |
|
170 | + $regex = sprintf('/^From\:.*%s/im', $radd); |
|
171 | + $hasMatch = preg_match($regex, $contents, $matches); |
|
172 | + $fromAddress = $hasMatch ? $matches[1] : null; |
|
173 | 173 | |
174 | 174 | // get email to address |
175 | - $regex = sprintf('/^To\:\s+%s/im',$radd); |
|
176 | - $hasMatch = preg_match($regex,$contents,$matches); |
|
177 | - $toAddress1 = $hasMatch ? $matches[1]:null; |
|
175 | + $regex = sprintf('/^To\:\s+%s/im', $radd); |
|
176 | + $hasMatch = preg_match($regex, $contents, $matches); |
|
177 | + $toAddress1 = $hasMatch ? $matches[1] : null; |
|
178 | 178 | |
179 | 179 | // get email to address |
180 | - $regex = sprintf('/^To\:.*%s/im',$radd); |
|
181 | - $hasMatch = preg_match($regex,$contents,$matches); |
|
182 | - $toAddress2 = $hasMatch ? $matches[1]:null; |
|
180 | + $regex = sprintf('/^To\:.*%s/im', $radd); |
|
181 | + $hasMatch = preg_match($regex, $contents, $matches); |
|
182 | + $toAddress2 = $hasMatch ? $matches[1] : null; |
|
183 | 183 | |
184 | 184 | $this->fromMails[] = $fromAddress; |
185 | 185 | $this->toMails[] = $toAddress1; |
@@ -187,15 +187,15 @@ discard block |
||
187 | 187 | |
188 | 188 | return [ |
189 | 189 | 'from' => $fromAddress, |
190 | - 'to' => [$toAddress1,$toAddress2], |
|
190 | + 'to' => [$toAddress1, $toAddress2], |
|
191 | 191 | ]; |
192 | 192 | } |
193 | 193 | |
194 | 194 | private function parseSubject($contents) |
195 | 195 | { |
196 | 196 | $pattern = '/Subject\:(.*)/i'; |
197 | - preg_match($pattern,$contents,$matches); |
|
198 | - $subject = isset($matches[1]) ? $matches[1]:null; |
|
197 | + preg_match($pattern, $contents, $matches); |
|
198 | + $subject = isset($matches[1]) ? $matches[1] : null; |
|
199 | 199 | $this->subjects[] = $subject; |
200 | 200 | return [ |
201 | 201 | 'subject' => trim($subject) |