Compare commits

..

32 Commits

Author SHA1 Message Date
Grégoire 2a9e728354 correctif Menu 2019-10-28 17:03:46 +01:00
Grégoire 074c125f8c Redirect monCompte API 2019-10-28 14:36:14 +01:00
Grégoire 0b2898d170 Add twitter, linkedin … for getIdCard() 2019-10-15 09:57:37 +02:00
Grégoire 12525dbf16 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-14 16:43:13 +02:00
Grégoire 4a17adf687 add phone / linkedin / twitter … field for API form 2019-10-14 16:32:39 +02:00
Huaoe f4e412d792 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-11 15:48:44 +02:00
Grégoire 61786797c8 API : add getUserSubscriptionToPush (old : isUserSubscribedToPush) 2019-10-11 15:17:43 +02:00
Huaoe 57587a4a97 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-11 14:29:20 +02:00
Grégoire fd048d5a0e Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-11 14:19:28 +02:00
Grégoire 229893dc95 API : add isUserSubscribedToPush 2019-10-11 14:19:02 +02:00
Grégoire 26c6e2103d API : ad visit record for companies and ads pages 2019-10-10 16:59:08 +02:00
Grégoire 8830b5ccde Set isPrivate true by default for companies 2019-10-10 16:57:50 +02:00
Huaoe 2bc2d87b8c UpdateUser fix request->request 2019-10-10 16:24:23 +02:00
Huaoe 278c558c9e Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-10 14:49:02 +02:00
Huaoe 98545707b3 photo return 2019-10-09 17:01:58 +02:00
Sébastien 52d105efb4 Feat: add field phone and edit set extra 2019-10-09 11:31:53 +02:00
Sébastien 027c3fd2d1 Fix: presentationVideo syntax error 2019-10-09 11:27:52 +02:00
Grégoire 824ff9f1ec Change query / no selecting talent video in chat 2019-10-09 10:48:56 +02:00
Grégoire 606e29280b Fix bug draft message show app 2019-10-08 16:05:19 +02:00
Sébastien 3a29c647dd Fix: serialize tags for answer 2019-10-07 15:15:18 +02:00
Huaoe 57dd053693 Merge branch 'master' of https://git.e-declic.net/talents-tube/website 2019-10-07 09:51:42 +02:00
Huaoe e57173f835 upload profil picture 2019-10-07 09:51:35 +02:00
Sébastien 8f4ef35ddf Feat: Serialize publicTag for offer detail 2019-10-04 13:48:37 +02:00
Sébastien 346b788f83 Feat: Add titleTalent in extra to update from app 2019-10-04 13:48:08 +02:00
Sébastien edf35c74e8 Feat: Serialize territory type 2019-10-01 18:11:08 +02:00
Sébastien 75f2bbf6a7 Fix: php syntax error 2019-10-01 18:10:15 +02:00
Grégoire 0cbe670c90 change order for entreprises 2019-10-01 16:28:52 +02:00
Sébastien 2d595c1c3a Serialize territories for ad detail 2019-09-26 11:41:08 +02:00
Sébastien 98ebde7e72 Add linkedin twitter and website data for app 2019-09-26 11:40:36 +02:00
Huaoe d607962523 style.css generated 2019-09-16 16:20:09 +02:00
Huaoe b4ae35f4a6 yellow banner Off 2019-09-16 16:18:44 +02:00
Huaoe be37e97a19 fix PWA link 2019-09-16 15:50:53 +02:00
23 changed files with 275 additions and 39 deletions
@@ -56,6 +56,7 @@ j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'@global'
output='assetic/main.base.dash.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% endjavascripts %}
{% endblock %}
</body>
@@ -86,7 +86,7 @@
<div id="newApp" class="container-fluid">
<div class="row">
<div class="col s12 m12">
<p>"Nouveau ! Trouvez un job plus facilement avec notre <a href="http://pp.app.talentstube.com">web application</a>.📲"</p>
<p>"Nouveau ! Trouvez un job plus facilement avec notre <a href="http://app.talentstube.com">web application</a>.📲"</p>
</div>
</div>
</div>
@@ -100,10 +100,10 @@
<a class="collapsible-header" title="Talents">Talents</a>
<div class="collapsible-body">
<ul>
<li><ahref="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
<li><ahref="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
<li><ahref="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
<li><ahref="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
<li><a href="{{ path('ad_search_result') }}" title="Offres d'emploi vidéos">Offres d'emploi</a></li>
<li><a href="{{ path('page_cvVideo') }}" title="Le Cv vidéo">Le CV vidéo</a></li>
<li><a href="{{ path('page_reussirCVvideo') }}" title="Comment faire son CV Vidéo ?">Comment faire son CV Vidéo ?</a></li>
<li><a href="{{ path('page_accompagnementTalent') }}" title="Accompagnement talent">Accompagnement</a></li>
</ul>
</div>
</li>
@@ -114,11 +114,11 @@
<a class="collapsible-header" title="Les entreprises de talents">Entreprises</a>
<div class="collapsible-body">
<ul>
<li><ahref="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
<li><ahref="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
<li><ahref="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
<li><ahref="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
<li><ahref="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
<li><a href="{{ path('company_list') }}" title="Listes entreprises">Listes entreprises</a></li>
<li><a href="{{ path('page_OffreEmploi') }}" title="L'offre d'emploi en vidéo">L'offre d'emploi en vidéo</a></li>
<li><a href="{{ path('page_reussirOffrevideo') }}" title="Comment faire une offre en vidéo">Comment faire une offre en vidéo</a></li>
<li><a href="{{ path('page_MarqueEmployeur') }}" title="Vidéo Marque Employeur">Vidéo Marque Employeur</a></li>
<li><a href="{{ path('page_accompagnementEntreprise') }}" title="Conseils & accompagnement">Conseils & accompagnement</a></li>
</ul>
</div>
</li>
@@ -126,9 +126,9 @@
<a class="collapsible-header" title="Les territoires">Territoires</a>
<div class="collapsible-body">
<ul>
<li><ahref="{{ path('territory_list') }}">Liste des territoires</a></li>
<li><ahref="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
<li><ahref="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
<li><a href="{{ path('territory_list') }}">Liste des territoires</a></li>
<li><a href="{{ path('page_VideoTerritory') }}">La vidéo territoire</a></li>
<li><a href="{{ path('page_AccompagnementTerritory') }}">Conseils et accompagnement</a></li>
</ul>
</div>
</li>
@@ -18,11 +18,3 @@
</div>
{% endblock %}
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places"></script>
{% javascripts
'@talents'
output='assetic/main.dashboard.talent.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
@@ -250,6 +250,7 @@ fos_rest:
serialize_null: true
format_listener:
rules:
- { path: '^/api/talent', priorities: ['html'], fallback_format: 'html' }
- { path: '^/api/', priorities: ['json'], fallback_format: 'json' }
param_fetcher_listener: true
exception:
@@ -264,6 +265,22 @@ lexik_jwt_authentication:
public_key: '%kernel.root_dir%/../app/config/jwt/public.pem' # required for token verification
pass_phrase: 'talentstubeforever' # required for token creation, usage of an environment variable is recommended
token_ttl: 3600000
token_extractors:
# look for a token as Authorization Header
authorization_header:
enabled: true
prefix: Bearer
name: Authorization
# check token in a cookie
cookie:
enabled: false
name: BEARER
# check token in query string parameter
query_parameter:
enabled: true
name: bearer
nelmio_cors:
paths:
@@ -116,4 +116,21 @@ class AdController extends FOSRestController
['Location' => $this->generateUrl('api_ad_show', ['id' => $ad->getId(), UrlGeneratorInterface::ABSOLUTE_URL])]
);
}
/**
* @Rest\Get("/api/adAjaxRecStat/{id}", name="adAjaxRecStat")
* @Rest\View(statusCode=200)
*/
public function adAjaxRecStatAction(Ad $ad)
{
$history = $this->get('edeclic.history.record');
if ($this->getUser()) {
$idUser = $this->getUser()->getId();
$history->recordIt($idUser, "r", get_class($ad), $ad->getId(), serialize($ad));
} else {
$history->recordIt("Anonymous", "r", get_class($ad), $ad->getId(), serialize($ad));
}
return new JsonResponse(array('code' => "ok"));
}
}
@@ -33,7 +33,7 @@ class AnswerController extends FOSRestController
public function showAction(Answer $answer)
{
$usr = $this->getUser();
$userAnswer = $this->getDoctrine()->getRepository('AppBundle:Answer')->findOneBy(array('user' => $usr, 'id' => $answer->getId()));
$userAnswer = $this->getDoctrine()->getRepository('AppBundle:Answer')->findOneByWithCorrespondences($usr, $answer->getId());
if ($userAnswer) {
$data = $this->get('jms_serializer')->serialize($answer, 'json', SerializationContext::create()->setGroups(array('answer_detail')));
return new JsonResponse($data, 200, [], true);
@@ -248,6 +248,7 @@ class AnswerController extends FOSRestController
*/
public function fetchMessageAction(Answer $answer)
{
$em = $this->getDoctrine()->getManager();
$usr = $this->get('security.token_storage')->getToken()->getUser();
if ($answer->getUser()->getId() !== $usr->getId()) {
@@ -256,7 +257,7 @@ class AnswerController extends FOSRestController
throw new ResourceValidationException($message, $status);
}
$messages = $answer->getMessages();
$messages = $em->getRepository('AppBundle:Message')->searchCorrespondences($answer);
//
$status = array('status' => "success", "messages" => $messages);
//
@@ -16,6 +16,7 @@ use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use JMS\Serializer\SerializationContext;
use Symfony\Component\HttpFoundation\JsonResponse;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class CompanyController extends FOSRestController
{
@@ -93,4 +94,23 @@ class CompanyController extends FOSRestController
Response::HTTP_CREATED,
['Location' => $this->generateUrl('api_company_show', ['id' => $company->getId(), UrlGeneratorInterface::ABSOLUTE_URL])]);
}
/**
* @Rest\Get(path="/api/companyAjaxRecStat/{id}", name="companyAjaxRecStat", requirements={"id"="\d+"})
* @Rest\View(statusCode=200)
*/
public function companyAjaxRecStatAction(Company $company)
{
$history = $this->get('edeclic.history.record');
if ($this->getUser() && $this->getUser()->getCompany() != null) {
if ($this->getUser()->getCompany()->getId() !== $company->getId()) {
$history->recordIt($this->getUser()->getId(), "r", get_class($company), $company->getId(), serialize($company));
}
} else {
$history->recordIt("Anonymous", "r", 'AppBundle\Entity\Company', $company->getId(), serialize($company));
}
return new JsonResponse(array('code' => "ok"));
}
}
@@ -0,0 +1,59 @@
<?php
namespace AppBundle\Controller\Api;
use AppBundle\Entity\User;
use FOS\RestBundle\Controller\Annotations as Rest;
use FOS\RestBundle\Controller\Annotations\Get;
use FOS\RestBundle\Controller\Annotations\Post;
use FOS\RestBundle\Controller\Annotations\View;
use FOS\RestBundle\Controller\FOSRestController;
use FOS\RestBundle\Request\ParamFetcherInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
use JMS\Serializer\SerializationContext;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpKernel\Exception\BadRequestHttpException;
use Symfony\Component\HttpFoundation\Request;
class PushController extends FOSRestController
{
/**
* @Rest\Get("/api/userSubscriptionToPush", name="getUserSubscriptionToPush")
* @Rest\View(statusCode=200)
*/
public function getUserSubscriptionToPush()
{
$user = $this->getUser();
$managerPush = $this->get('app.user_subscription_manager');
$isUserSubscribed = ($managerPush->findByUser($user))? true : false;
return new JsonResponse(array('isUserSubscribed' => $isUserSubscribed));
}
/**
* @Rest\Post("/api/userSubscriptionToPush", name="postUserSubscriptionToPush")
* @Rest\View(statusCode=200)
*/
public function saveSubscription(Request $request)
{
$user = $this->getUser();
$subscription = json_decode($request->getContent(), true);
if (JSON_ERROR_NONE !== json_last_error()) {
throw new BadRequestHttpException(json_last_error_msg());
}
if (!isset($subscription['endpoint'])) {
throw new BadRequestHttpException('Invalid subscription object.');
}
$manager = $this->container->get("app.user_subscription_manager");
$subscriptionHash = $manager->hash($subscription['endpoint']);
$userSubscription = $manager->getUserSubscription($user, $subscriptionHash)
or $userSubscription = $manager->factory($user, $subscriptionHash, $subscription);
$manager->save($userSubscription);
return new JsonResponse(array('success' => true),200);
}
}
@@ -15,6 +15,14 @@ use FOS\UserBundle\Model\UserInterface;
use AppBundle\Entity\Company;
use AppBundle\Exception\ResourceValidationException;
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
use AppBundle\Form\ContactTalentType;
use AppBundle\Form\MediaType;
use AppBundle\Form\TalentProfileType;
use AppBundle\Form\TalentType;
use AppBundle\Form\CareersType;
use AppBundle\Form\FormationsType;
use AppBundle\Form\LanguagesType;
use Symfony\Component\Security\Http\Event\InteractiveLoginEvent;
class SecurityController extends FOSRestController
{
@@ -107,24 +115,58 @@ class SecurityController extends FOSRestController
*/
public function UpdateUser(Request $request)
{
$userManager = $this->get('fos_user.user_manager');
$companyManager = $this->get('app.company_manager');
$usr = $this->getUser();
$talent = $usr->getCompany();
if ($usr !== null){
$newLastName = htmlspecialchars($request->request->get('lastname'));
$newFirstName = htmlspecialchars($request->request->get('firstname'));
$newLastName = htmlspecialchars($request->get('lastname'));
$newFirstName = htmlspecialchars($request->get('firstname'));
$phoneTalent = htmlspecialchars($request->get('phone'));
$titleTalent = htmlspecialchars($request->get('currentJob'));
$newLinkedin = htmlspecialchars($request->get('linkedin'));
$newTwitter = htmlspecialchars($request->get('twitter'));
$newWebsite = htmlspecialchars($request->get('website'));
if (!isset($newLastName) || !isset($newFirstName) || $newLastName == null || $newFirstName == null){
$message = 'Vous devez rentrer votre nom et votre prénom pour continuer';
throw new ResourceValidationException($message,'');
} else {
$file = $request->files->get('file');
$usr->setLastName($newLastName);
$usr->setFirstName($newFirstName);
$talent->setWebsite($newWebsite);
$talent->setLinkedin($newLinkedin);
$talent->setTwitter($newTwitter);
$talent->setTitleTalent($titleTalent);
$talent->setPhoneTalent($phoneTalent);
$companyManager->updateTalent($usr);
$status = array('status' => "success");
}
} else {
$status = array('status' => "failure", 'message' => "Vous n'êtes pas connecté.");
}
return new JsonResponse($status);
}
/**
* @Rest\post(path="/api/update_profile_picture", name="api_update_profile_picture")
* @Rest\View
*/
public function UpdateProfilPicture(Request $request)
{
$userManager = $this->get('fos_user.user_manager');
$usr = $this->getUser();
if ($usr !== null){
$file = $request->files->get('file');
$usr->setFile($file);
$usr->upload();
$userManager->updateUser($usr);
$status = array('status' => "success", 'file' => $usr->getFile(), 'id' => $usr->getId());
}
$status = array('status' => "success", 'file' => $usr->getPhoto());
} else {
$status = array('status' => "failure", 'message' => "Vous n'êtes pas connecté.");
}
@@ -520,4 +562,25 @@ class SecurityController extends FOSRestController
$data = json_decode($response);
return $data;
}
/**
* @Rest\Get(path="/api/talent", name="api_talent")
* @Rest\View
*/
public function goToMonCompte(Request $request)
{
$user = $this->getUser();
$token = new UsernamePasswordToken($user, null, 'main', $user->getRoles());
$this->get('security.token_storage')->setToken($token);
$this->get('session')->set('_security_main', serialize($token));
$event = new InteractiveLoginEvent($request, $token);
$this->get("event_dispatcher")->dispatch("security.interactive_login", $event);
$view = $this->redirectView($this->generateUrl('talent_dashboard'), 301);
return $this->handleView($view);
}
}
@@ -187,7 +187,7 @@ class CompanyController extends Controller
$history->recordIt("Anonymous", "r", 'AppBundle\Entity\Company', $company->getId(), serialize($company));
}
return new JsonResponse(array('code' => "ok"));
return new JsonResponse(array('code' => "ok", "user" => $this->getUser()->getUsername()));
}
/***********************
@@ -17,7 +17,7 @@ class DefaultController extends Controller
$ads = $em->getRepository('AppBundle:Ad')->findBy(array("status" => "PUBLISHED", "isPromoted" => false), array('id' => 'DESC'));
}
$talents = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TALENT", "emphasis" => true), array('emphasisOrder' => 'DESC'));
$companies = $em->getRepository('AppBundle:Company')->findBy(array("type" => "COMPANY", "emphasis" => true), array('emphasisOrder' => 'ASC'));
$companies = $em->getRepository('AppBundle:Company')->findBy(array("type" => "COMPANY", "emphasis" => true), array('emphasisOrder' => 'DESC'));
$territories = $em->getRepository('AppBundle:Company')->findBy(array("type" => "TERRITORY", "emphasis" => true), array('emphasisOrder' => 'ASC'));
$arrayTalents = array();
@@ -49,6 +49,7 @@ class PushController extends Controller
return new JsonResponse(array('success' => true),200);
}
/**
* @Route("/push/delete-subscription/", name="delete-subscription")
*/
@@ -160,7 +160,7 @@ class Ad
*
* @ORM\Column(name="public_tag", type="json_document", nullable=true, options={"jsonb":true})
*
*
* @Groups({"ad_detail", "answer_detail"})
*/
private $publicTag;
@@ -249,11 +249,14 @@ class Ad
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="ad", cascade={"persist", "remove"})
*
* @Groups({"ad_detail" , "answer_detail"})
*/
private $territories;
/**
* @ORM\OneToMany(targetEntity="AppBundle\Entity\BookmarkAd", mappedBy="ad", cascade={"persist", "remove"})
*
*/
private $bookmarkAds;
@@ -351,7 +351,7 @@ class Company
if (empty($this->publicTag))
$empty++;
if ($this->presentation_video === null)
if ($this->presentationVideo == null)
$empty++;
if (is_array($this->ad) && empty($this->ad))
@@ -24,26 +24,28 @@ class TerritoryAd
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
* @Groups({"company_detail"})
* @Groups({"ad_detail" , "company_detail"})
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="territoryAds")
* @ORM\JoinColumn(nullable=false)
* @Groups({"company_detail"})
* @Groups({"ad_detail" , "company_detail"})
*/
private $territory;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Ad", inversedBy="territories")
* @ORM\JoinColumn(nullable=true)
* @Groups({"ad_detail" , "company_detail"})
*/
private $ad;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\Company", inversedBy="territoryAds")
* @ORM\JoinColumn(nullable=true)
* @Groups({"ad_detail" , "company_detail"})
*/
private $company;
@@ -229,6 +229,7 @@ class User extends BaseUser
$name = md5(uniqid()) . '.' . $this->file->guessExtension();
$this->file->move($this->getUploadRootDir(), $name);
$this->photo = $name;
}
public function getUploadDir()
@@ -373,7 +374,12 @@ class User extends BaseUser
"lastname" => $this->getLastname(),
"email" => $this->getEmail(),
"picture" => $this->getPhoto(),
"socialPicture" => $this->getSocialPicture()
"socialPicture" => $this->getSocialPicture(),
"phone" => $this->getCompany()->getExtra()["phoneTalent"],
"linkedin" => $this->getCompany()->getExtra()["linkedin"],
"twitter" => $this->getCompany()->getExtra()["twitter"],
"currentJob" => $this->getCompany()->getExtra()["titleTalent"],
"website" => $this->getCompany()->getWebsite(),
);
return $card;
}
@@ -25,6 +25,27 @@ class AnswerRepository extends AbstractRepository
return $this->paginate($qb, $limit, $offset);
}
// Query to find messages excluding Draft message and talent video for chat
public function findOneByWithCorrespondences($user, $answerId)
{
$qb = $this
->createQueryBuilder('a')
->select(['a','m','ad'])
->where('a.user = :user')
->andWhere('a.id = :id')
->setParameter('user', $user)
->setParameter('id', $answerId)
->leftJoin('a.messages', 'm','WITH', 'm.status NOT IN(\'DRAFT\',\'CONTACT_TALENT\')')
// ->setParameter(':status', array('DRAFT','CONTACT_TALENT'))
->leftJoin('a.ad', 'ad')
->leftJoin('a.company', 'company')
;
return $qb
->getQuery()
->getResult();
}
public function getAnswerByCompany($id)
{
$qb = $this
@@ -10,4 +10,21 @@ namespace AppBundle\Repository;
*/
class MessageRepository extends \Doctrine\ORM\EntityRepository
{
public function searchCorrespondences($answer)
{
$qb = $this
->createQueryBuilder('m')
->select('m')
->where('m.answer = :answer')
->setParameter('answer', $answer)
->andWhere('m.status <> :status')
->setParameter(':status', 'DRAFT')
;
return $qb
->getQuery()
->getResult();
}
}
// add status = SENDED;
@@ -106,6 +106,7 @@ class RegistrationListener implements EventSubscriberInterface
$company->setType("TALENT");
} elseif ($user->hasRole('ROLE_COMPANY')) {
$company->setType("COMPANY");
$company->setIsPrivate(true);
} elseif ($user->hasRole('ROLE_TERRITORY')) {
$company->setType("TERRITORY");
} else {
@@ -91,6 +91,7 @@ class CompanyManager
'titleTalent' => $talent->getTitleTalent(),
'situationTalent' => $talent->getSituationTalent(),
'descriptionTalent' => $talent->getDescriptionTalent(),
'phoneTalent' => $talent->getPhoneTalent(),
);
$talent->setExtra($extra);
@@ -12,7 +12,7 @@ trait ExtraJsonTrait
*
* @ORM\Column(name="extra", type="json_document", nullable=true)
*
* @Groups({"company_detail", "company_list"})
* @Groups({"ad_detail" , "company_detail", "company_list"})
*/
private $extra;
@@ -24,6 +24,7 @@ trait ExtraJsonTrait
private $size;
private $siren;
private $phoneTalent;
private $titleTalent;
private $situationTalent;
private $descriptionTalent;
@@ -41,6 +42,7 @@ trait ExtraJsonTrait
isset($extra['linkedin']) ? $this->linkedin = $extra['linkedin'] : null;
isset($extra['size']) ? $this->size = $extra['size'] : null;
isset($extra['siren']) ? $this->siren = $extra['siren'] : null;
isset($extra['phoneTalent']) ? $this->phoneTalent = $extra['phoneTalent'] : null;
isset($extra['titleTalent']) ? $this->titleTalent = $extra['titleTalent'] : null;
isset($extra['situationTalent']) ? $this->situationTalent = $extra['situationTalent'] : null;
isset($extra['descriptionTalent']) ? $this->descriptionTalent = $extra['descriptionTalent'] : null;
@@ -115,6 +117,18 @@ trait ExtraJsonTrait
return $this->siren;
}
public function setPhoneTalent($phoneTalent)
{
$this->phoneTalent = $phoneTalent;
return $this;
}
public function getPhoneTalent()
{
return $this->phoneTalent;
}
public function setTitleTalent($titleTalent)
{
$this->titleTalent = $titleTalent;
+1 -1
View File
@@ -17766,7 +17766,7 @@ a.link-white-underline:hover {
.fix-search {
position: fixed;
top: 89px;
top: 60px;
width: 100%;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;
@@ -121,7 +121,7 @@
.fix-search{
position: fixed;
top: 89px;
top: 60px;
width: 100%;
-webkit-transition: all 0.5s;
-moz-transition: all 0.5s;