Compare commits

...

20 Commits

Author SHA1 Message Date
llaniau 18144e395c Patch 3 Prod 2020-12-16 10:26:29 +01:00
llaniau f53815aa1a Patch 2 prod 2020-12-16 10:16:42 +01:00
llaniau bab23a58ac Patch prod V2.4.0 2020-12-16 10:10:52 +01:00
llaniau 9346635ca7 Packaging MEP V2.4.0 2020-12-15 13:32:21 +01:00
llaniau 849b5a999a changement de version dans parameters 2020-12-15 09:09:45 +01:00
llaniau 409be2f0b0 Retour recette Corentin et Audrey 2020-12-14 17:46:27 +01:00
llaniau d201bd44b9 US 238 : Mise en place de la version 2020-12-11 16:15:04 +01:00
llaniau cbe1b1f0d6 US443 et US Offre d'emploi 2020-12-10 17:00:58 +01:00
llaniau a56d568319 Mise en place video apres upload 2020-12-09 14:08:20 +01:00
llaniau c8f9e4d8f4 US 420,412,421,414 2020-12-02 16:40:40 +01:00
llaniau 21b8954c13 repassage en no follow 2020-12-01 19:21:44 +01:00
llaniau ee9eb19ca9 Bug geoloc et import video prod 2020-11-25 11:22:55 +01:00
llaniau 3060f93e59 bug geoloc suite 2020-11-25 10:53:57 +01:00
llaniau dc29527064 Bug geoloc suite 2020-11-25 09:51:11 +01:00
llaniau f369802b96 company.js au lieu de main.dash.company.js 2020-11-24 14:29:39 +01:00
llaniau 07941367cc Pour mise en prod (balise nofollow) 2020-11-24 13:55:43 +01:00
llaniau effb92a9d8 ajout bouton supprimer dans gestion candidatures 2020-11-24 13:51:38 +01:00
llaniau 1952e27030 Bug geoloc 2020-11-24 11:16:28 +01:00
llaniau 6db371f2af Bug geoloc suite 2020-11-24 11:00:19 +01:00
llaniau 37ef9a4fdd Bug geoloc 2020-11-24 09:10:40 +01:00
21 changed files with 149 additions and 79 deletions
@@ -208,7 +208,7 @@
</trans-unit>
<trans-unit id="profile.company.size">
<source>profile.company.size</source>
<target>Taille de l'entreprise (nombre de personnes)</target>
<target>Taille de l'entreprise</target>
</trans-unit>
<trans-unit id="profile.company.description">
<source>profile.company.description</source>
@@ -263,6 +263,19 @@
}
});
}
function verifierDelete(id){
console.log(id);
var r = confirm("Êtes vous sûr de supprimer cette candidature ?\nSupprimer cette candidature supprimera le média associé\n");
if (r == true) {
txt = "You pressed OK!";
location.href = "/app_dev.php/admin/config/answer/"+id+"/delete";
return true;
} else {
txt = "You pressed Cancel!";
}
console.log(txt);
}
</script>
{% endblock %}
@@ -28,11 +28,10 @@
<!-- Please remove the file below for production: Contains demo classes -->
<link class="main-stylesheet" href="{{ asset('dashboard/css/style.css') }}" rel="stylesheet" type="text/css" />
<script type="text/javascript">window.$crisp=[];window.CRISP_WEBSITE_ID="08e9d301-ba14-4d69-8b1a-53685114c5af";(function(){d=document;s=d.createElement("script");s.src="https://client.crisp.chat/l.js";s.async=1;d.getElementsByTagName("head")[0].appendChild(s);})();</script>
<!-- BEGIN VENDOR JS -->
<script src="{{ asset('dashboard/plugins/pace/pace.min.js') }}" type="text/javascript"></script>
<!-- A polyfill for browsers that don't support ligatures: remove liga.js if not needed-->
<script src="{{ asset('dashboard/plugins/liga.js') }}" type="text/javascript"></script>
<!-- END PAGE LEVEL JS -->
<script src="{{ asset('dashboard/plugins/jquery/jquery-3.2.1.min.js') }}" type="text/javascript"></script>
{# <script type="text/javascript" src="http://code.jquery.com/jquery-3.2.1.min.js"></script> #}
{% block javascriptSupl %}
@@ -42,6 +41,7 @@
<body class="fixed-header dashboard menu-pin menu-behind">
{# {{ include('default/user_switch.html.twig') }} #}
{{ include('admin/navigation_gauche.html.twig')}} }}
@@ -76,11 +76,30 @@
<!-- END PAGE CONTENT WRAPPER -->
</div>
<!-- END PAGE CONTAINER -->
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places">
</script>
{% javascripts
'@vendors'
'@global'
'@company'
output='assetic/main.dash.company.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
<!-- BEGIN VENDOR JS -->
<script src="{{ asset('dashboard/plugins/pace/pace.min.js') }}" type="text/javascript"></script>
<!-- A polyfill for browsers that don't support ligatures: remove liga.js if not needed-->
<script src="{{ asset('dashboard/plugins/liga.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/modernizr.custom.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-ui/jquery-ui.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/popper/umd/popper.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/bootstrap/js/bootstrap.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery/jquery-easy.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-unveil/jquery.unveil.min.js') }}" type="text/javascript"></script>
<script src="{{ asset('dashboard/plugins/jquery-ios-list/jquery.ioslist.min.js') }}" type="text/javascript"></script>
@@ -99,11 +118,12 @@
<script src="{{ asset('dashboard/plugins/mapplic/js/hammer.min.js') }}"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/jquery.mousewheel.js') }}"></script>
<script src="{{ asset('dashboard/plugins/mapplic/js/mapplic.js') }}"></script>
{# <script src="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.js') }}"></script> #}
<script src="{{ asset('dashboard/plugins/rickshaw/rickshaw.min.js') }}"></script>
<script src="{{ asset('dashboard/plugins/jquery-sparkline/jquery.sparkline.min.js') }}" type="text/javascript">
</script>
<script src="{{ asset('dashboard/plugins/skycons/skycons.js') }}" type="text/javascript"></script>
{# <script src="{{ asset('dashboard/plugins/quill/quill.min.js') }}" type="text/javascript"></script> #}
<script src="{{ asset('dashboard/plugins/quill/quill.min.js') }}" type="text/javascript"></script>
<!-- END VENDOR JS -->
<!-- BEGIN CORE TEMPLATE JS -->
<!-- BEGIN CORE TEMPLATE JS -->
@@ -116,19 +136,7 @@
<!-- END CORE TEMPLATE JS -->
<!-- END PAGE LEVEL JS -->
{% block javascripts %}
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDYV8IJGtIoWLfXJQQvIuDQ88n2aEuRgpg&libraries=places">
</script>
{% javascripts
'@vendors'
'@global'
'@company'
output='assetic/main.dash.company.js' filter='?uglifyjs2' %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
<!-- BEGIN PAGE LEVEL JS -->
<script src="{{ asset('dashboard/js/dashboard.js') }}" type="text/javascript"></script>
{% block javascriptsSecondaire %}
@@ -15,7 +15,7 @@
<!-- Required Meta Tags Always Come First -->
<meta charset="utf-8">
<meta name="robots" content="noindex,nofollow">
{# <meta name="robots" content="noindex,nofollow"> #}
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
{% block meta %}
{% endblock %}
@@ -45,11 +45,11 @@
<!-- Modal 1 -->
<div class="modal fade bd-example-modal-lg" id="competencesModal" tabindex="-1" role="dialog"
aria-labelledby="competencesModalLabel" aria-hidden="false">
aria-labelledby="competencesModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous remplacer le métier <span class="metierPopup"></span></h5>
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span class="metierPopup"></span>?</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@@ -58,13 +58,13 @@
<h5>&nbsp;</h5>
<p>
Si vous remplacez le métier de rattachement, la totalité des compétences que vous aviez précédemment sélectionnées en lien avec l'ancien métier de rattachement seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement, celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal"
onclick="chargerCompetences();">Remplacer</button>
onclick="chargerCompetences();">Sélectionner</button>
</div>
</div>
</div>
@@ -73,7 +73,7 @@
<!-- Modal 2 -->
<div class="modal fade modalCompetences" id="ajoutCompetencesModal" tabindex="-1" role="dialog"
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false">
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
@@ -247,6 +247,7 @@
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<div id="competencesAd"></div><br />
<div id="competencesAdMessage" class="text-danger">Veuillez choisir un métier de rattachement pour votre annonce.</div><br />
<div id="loadingDiv" >Patientez...</div><br />
<div class="text-center" id="competencesButtonAd">
<button type="button" class="btn btn-primary" data-toggle="modal"
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
@@ -516,6 +517,7 @@
.ready(function () {
// Construction du champ typeahead d'auto compléetion de métier
$("#competencesButtonAd").hide();
$('#loadingDiv').hide();
var metiers = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
queryTokenizer: Bloodhound.tokenizers.whitespace,
@@ -597,6 +599,10 @@
data: 'q=' + $("#id_appellation_temporaire").val(),
//Le format de réponse attendu
dataType: "json",
beforeSend: function () { // Before we send the request, remove the .hidden class from the spinner and default to inline-block.
$('#loadingDiv').show();
console.log("début loading");
},
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
@@ -681,6 +687,7 @@
}
//on génere le json qui va remplir le champ ad_competences
genererJson();
$('#loadingDiv').hide();
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
@@ -693,11 +700,11 @@
$("#competencesAdMessage").html(
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
);
}
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
$('#loadingDiv').hide();
console.log("La requête s'est terminée en échec q= "+ $("#id_appellation_temporaire").val()+" Infos : " + JSON.stringify(error));
})
//Ce code sera exécuté que la requête soit un succès ou un échec
.always(function () {
console.log("Requête effectuée");
@@ -40,11 +40,11 @@
<!-- Modal 1 -->
<div class="modal fade bd-example-modal-lg" id="competencesModal" tabindex="-1" role="dialog"
aria-labelledby="competencesModalLabel" aria-hidden="false">
aria-labelledby="competencesModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous remplacer le métier <span class="metierPopup"></span></h5>
<h5 class="modal-title" id="competencesModalLabel">Souhaitez-vous sélectionner le métier <span class="metierPopup"></span>?</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
@@ -53,13 +53,13 @@
<h5>&nbsp;</h5>
<p>
Si vous remplacez le métier de rattachement, la totalité des compétences que vous aviez précédemment sélectionnées en lien avec l'ancien métier de rattachement seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
Si vous aviez précédemment sélectionné des compétences en lien avec l'ancien métier de rattachement, celles-ci seront remplacées par les nouvelles compétences, correspondant au métier <span class="metierPopup"></span>.
</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Annuler</button>
<button type="button" class="btn btn-secondary" data-dismiss="modal"
onclick="chargerCompetences();">Remplacer</button>
onclick="chargerCompetences();">Sélectionner</button>
</div>
</div>
</div>
@@ -68,7 +68,7 @@
<!-- Modal 2 -->
<div class="modal fade modalCompetences" id="ajoutCompetencesModal" tabindex="-1" role="dialog"
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false">
aria-labelledby="ajoutCompetencesModalLabel" aria-hidden="false" data-show="false">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
@@ -239,7 +239,8 @@ Afin de créer votre annonce, renseignez lensemble des champs relatifs au pos
<td class="col-lg-12 col-md-12 col-sm-12 bg-contrast-lower">
<div id="competencesAd"></div><br />
<div id="competencesAdMessage" class="text-danger">Vous devez
sélectionner un minimum une compétence</div><br />
sélectionner au minimum une compétence</div><br />
<div id="loadingDiv" >Patientez...</div><br />
<div class="text-center" id="competencesButtonAd">
<button type="button" class="btn btn-primary" data-toggle="modal"
data-target="#ajoutCompetencesModal" id="ajoutCompetences">
@@ -493,6 +494,7 @@ Afin de créer votre annonce, renseignez lensemble des champs relatifs au pos
.ready(function () {
// Construction du champ typeahead d'auto compléetion de métier
$("#competencesButtonAd").hide();
$('#loadingDiv').hide();
console.log("metiers!!");
var metiers = new Bloodhound({
datumTokenizer: Bloodhound.tokenizers.whitespace,
@@ -575,6 +577,10 @@ Afin de créer votre annonce, renseignez lensemble des champs relatifs au pos
data: 'q=' + $("#id_appellation_temporaire").val(),
//Le format de réponse attendu
dataType: "json",
beforeSend: function () { // Before we send the request, remove the .hidden class from the spinner and default to inline-block.
$('#loadingDiv').show();
console.log("début loading");
},
})
//Ce code sera exécuté en cas de succès - La réponse du serveur est passée à done()
/*On peut par exemple convertir cette réponse en chaine JSON et insérer
@@ -662,6 +668,7 @@ Afin de créer votre annonce, renseignez lensemble des champs relatifs au pos
}
//on génere le json qui va remplir le champ ad_soft_competences
genererJson();
$('#loadingDiv').hide();
})
//Ce code sera exécuté en cas d'échec - L'erreur est passée à fail()
@@ -675,7 +682,7 @@ Afin de créer votre annonce, renseignez lensemble des champs relatifs au pos
"Une erreur est survenue dans la recherche du métier de rattachement. <a href='#' onclick='chargerCompetences();'><br/><i class='fa fa-refresh fa-spin fa-fw'></i>Cliquez ici pour relancer la recherche</a> "
);
}
$('#loadingDiv').hide();
console.log("La requête s'est terminée en échec. Infos : " + JSON.stringify(error));
})
@@ -36,8 +36,7 @@
<li><a class="list-group-item list-group-item-action" href="{{ path('cgu') }}" target="_blank">CGU</a></li>
<li><a class="list-group-item list-group-item-action" href="{{ path('politique-confidentialite') }}" target="_blank">Politique de confidentialité</a></li>
<li><a class="list-group-item list-group-item-action" href="{{ path('abonnement') }}" >Tarifs</a></li>
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact" target="_blank"
">Contact</a></li>
<li><a class="list-group-item list-group-item-action" href="https://blog.talentstube.com/contact" target="_blank">Contact</a></li>
</ul>
<!-- End Links -->
</div>
@@ -86,7 +85,7 @@
<p class="small text-muted">Tous droits réservés. &copy; 2020 Talents Tube.</p>
<p class="small text-muted">Tous droits réservés.. &copy; 2020 Talents Tube. V2.4.0</p>
</div>
</div>
</div>
@@ -80,6 +80,7 @@ twig:
globals:
push_public_key: "%push_params.public_key%"
fairlane_cookie_consent: '@fairlane_cookie_consent.twig'
version: '%app.version%'
# Swiftmailer Configuration
@@ -35,4 +35,4 @@ parameters:
ttl: 300
urgency: high
topic: Emploi
push_params.public_key: BNFyiyPiLH97Dgc0m1vXluUNaCN6y3Hkgd4YcqS2lVkP8my3tq2D5gM5g7cY6R4VxC7GljSzkLRu+k+oO+2TtjU=
push_params.public_key: BNFyiyPiLH97Dgc0m1vXluUNaCN6y3Hkgd4YcqS2lVkP8my3tq2D5gM5g7cY6R4VxC7GljSzkLRu+k+oO+2TtjU=
@@ -215,7 +215,8 @@ class AnswerController extends AbstractController
case 'actions':
{
$responseTemp = "Actions :<select class='changeStatus' onChange='changerStatut(this.value, ".$answer->getId().")' name='changeStatus' data-id=".$answer->getId()."><option value='null'>choisir</option><option value='SENDED'>Envoyé</option><option value='DRAFT'>Brouillon</option><option value='REFUSED'>Refuser</option></select>";
$responseTemp .= "<br>";
$responseTemp .= "<a class='delete-answer' href='#' onClick='verifierDelete(".$answer->getId().")' data-toggle='tooltip' title='Supprimer'>Supprimer <i class='fa fa-trash'></i></a>";
break;
}
@@ -160,32 +160,34 @@ class AnswerController extends FOSRestController
$message->setVideo($video);
$em->persist($message);
$em->flush();*/
$mailManager = $this->get('app.mail_manager');
foreach ($usersCompany as $user){
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$mailManager->sendMail(
'Candidature TalentsTube ',
'<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><img alt="" src="' . $img . '" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:600px;height:auto;" width="600" height="auto"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>
if ($this->container->get( 'kernel' )->getEnvironment() != "dev") {
$mailManager = $this->get('app.mail_manager');
foreach ($usersCompany as $user){
$link = $this->generateUrl('company_answer_show', array('id' => $answer->getId()), UrlGeneratorInterface::ABSOLUTE_URL);
$mailManager->sendMail(
'Candidature TalentsTube ',
'<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:0px;" align="center"><table cellpadding="0" cellspacing="0" style="border-collapse:collapse;border-spacing:0px;" align="center"><tbody><tr><td><img alt="" src="' . $img . '" style="border:none;display:block;outline:none;text-decoration:none;width:100%;max-width:600px;height:auto;" width="600" height="auto"></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Bonjour ' . $user->getLastname() . ' ' . $user->getFirstname() . ',</p>
<p>Le talent ' . $answer->getUser()->getFirstname() . ' ' . $answer->getUser()->getLastname() . ' a répondu à votre annonce ' . $title . '.</p></div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:20px 35px 20px 35px;" align="left"><div class="mj-content" style="cursor:auto;color:#534F4F;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;line-height:22px;"><p>Bonjour ' . $user->getLastname() . ' ' . $user->getFirstname() . ',</p>
<p>Le talent ' . $answer->getUser()->getFirstname() . ' ' . $answer->getUser()->getLastname() . ' a répondu à votre annonce ' . $title . '.</p></div></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px 0px 40px 0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="' . $link . '" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Découvrir le talent</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>',
$user,
'contact_default'
);
<div style="margin:0 auto;max-width:600px;background:#FFFFFF;"><table class="" cellpadding="0" cellspacing="0" style="width:100%;font-size:0px;background:#FFFFFF;" align="center"><tbody><tr><td style="text-align:center;vertical-align:top;font-size:0;padding:0px 0px 40px 0px;"><!--[if mso]>
<table border="0" cellpadding="0" cellspacing="0"><tr><td style="width:600px;">
<![endif]--><div style="vertical-align:top;display:inline-block;font-size:13px;text-align:left;width:100%;" class="mj-column-per-100" aria-labelledby="mj-column-per-100"><table width="100%"><tbody><tr><td style="font-size:0;padding:15px 30px;" align="center"><table cellpadding="0" cellspacing="0" style="border:none;border-radius:30px;" align="center"><tbody><tr><td style="background:#1689FB;border-radius:30px;color:#FFFFFF;cursor:auto;" align="center" valign="middle" bgcolor="#1689FB"><a class="mj-content" href="' . $link . '" style="display:inline-block;text-decoration:none;background:#1689FB;border:1px solid #1689FB;border-radius:30px;color:#FFFFFF;font-family:Trebuchet,Helvetica,sans-serif;font-size:14px;font-weight:normal;padding:15px 30px;" target="_blank">Découvrir le talent</a></td></tr></tbody></table></td></tr></tbody></table></div><!--[if mso]>
</td></tr></table>
<![endif]--></td></tr></tbody></table></div>',
$user,
'contact_default'
);
}
}
$status = array('status' => "success", "idAnswer" => $answer->getId()/*, "idMessage" => $message->getId()*/);
}
@@ -67,6 +67,7 @@ class SecurityController extends FOSRestController
$lastname = htmlspecialchars($request->get('lastname'));
$email = htmlspecialchars($request->get('email'));
$password = htmlspecialchars($request->get('password'));
$adId = htmlspecialchars($request->get('adId'));
if (!isset($firstname) || !isset($lastname) || !isset($email) || !isset($password))
$status = array('status' => "failure", 'message' => 'empty parameters');
@@ -75,7 +76,7 @@ class SecurityController extends FOSRestController
$user = $userManager->findUserByEmail($email);
if (isset($user))
$status = array('status' => "failure", 'message' => "L'utilisateur existe déjà.");
$status = array('status' => "failure", 'message' => "L'utilisateur existe déjà!");
else {
$user = $userManager->createUser();
@@ -103,7 +104,7 @@ class SecurityController extends FOSRestController
$userManager->updateUser($user);
}
// $userManager->updatePassword($user);//pas besoin car fait dans updateUser , vraiment bizarre....
$status = array('status' => "success", 'confirmationToken' => $user->getConfirmationToken(), 'email' => $user->getEmail(), 'firstname' => $user->getFirstname(), 'lastname' => $user->getLastname());
$status = array('status' => "success", 'confirmationToken' => $user->getConfirmationToken(), 'email' => $user->getEmail(), 'firstname' => $user->getFirstname(), 'lastname' => $user->getLastname(), 'adId' => $adId);
}
}
return new JsonResponse($status);
@@ -104,7 +104,7 @@ class DefaultController extends Controller
// foreach ($territories as $t) {
// $mediaManager->getThumbnails($t);
// }
//dump($this->container->get( 'kernel' )->getEnvironment());
// $form = $this->createForm(AdSearchType::class);
$params = $this->getParams($request);
$usename = $params["lastUsername"];
@@ -148,7 +148,7 @@ class Ad
* @var array
*
* @ORM\Column(name="competences", type="json_document", nullable=true, options={"jsonb":true})
*
* @Groups({"ad_detail", "ad_list", "answer_detail", "company_detail"})
*/
private $competences;
@@ -67,6 +67,7 @@ class AdSoftType extends AbstractType
'mapped' => false,
'label' => 'Localisation du poste',
'attr' => array(
'placeholder' => 'Ex : 3 Rue Louis de Broglie, Vannes, France',
'value' => $location_gmap,
'class' => 'form-control'
)
@@ -162,7 +163,7 @@ class AdSoftType extends AbstractType
))
->add('nombre_heure', IntegerType::class, array(
'mapped' => false,
'label' => 'Temps de travail',
'label' => "Temps de travail (Le nombre saisi correspond au nombre d'heures/semaine.)",
'empty_data' => "0",
'required' => false,
'attr' => array(
@@ -178,7 +179,7 @@ class AdSoftType extends AbstractType
'label' => 'Possibilité de faire du Télétravail?',
'data' => $teletravail,
'choices' => array(
'Occasionnel ' => 'tele_occassionel',
'Occasionnel ' => 'tele_occasionel',
'Partiel ' => 'tele_partiel',
'Total' => 'tele_total',
'Non' => 'tele_non',
@@ -95,7 +95,8 @@ class AdType extends AbstractType
'label' => 'Localisation du poste',
'attr' => array(
'value' => $location_gmap,
'class' => 'form-control'
'class' => 'form-control',
'placeholder' => 'Ex : 3 Rue Louis de Broglie, Vannes, France',
)
))
->add('location', HiddenType::class, array(
@@ -179,7 +180,7 @@ class AdType extends AbstractType
))
->add('nombre_heure', IntegerType::class, array(
'mapped' => false,
'label' => 'Temps de travail',
'label' => "Temps de travail (Le nombre saisi correspond au nombre d'heures/semaine.)",
'empty_data' => "0",
'required' => false,
'attr' => array(
@@ -195,7 +196,7 @@ class AdType extends AbstractType
'label' => 'Possibilité de faire du Télétravail?',
'data' => $teletravail,
'choices' => array(
'Occasionnel ' => 'tele_occassionel',
'Occasionnel ' => 'tele_occasionel',
'Partiel ' => 'tele_partiel',
'Total' => 'tele_total',
'Non' => 'tele_non',
@@ -50,7 +50,8 @@ class AdType extends AbstractType
'label' => 'Localisation du poste',
'attr' => array(
'value' => $location_gmap,
'class' => 'form-control'
'class' => 'form-control',
'placeholder' => 'Ex : 3 Rue Louis de Broglie, Vannes, France',
)
))
->add('location', HiddenType::class, array(
@@ -9,6 +9,7 @@ use Symfony\Component\Form\Extension\Core\Type\CountryType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\UrlType;
use Symfony\Component\Form\FormBuilderInterface;
@@ -36,8 +37,17 @@ class CompanyAdminType extends AbstractType
->add('siren', TextType::class, array(
'label' => 'profile.company.siren',
))
->add('size', TextType::class, array(
// ->add('size', TextType::class, array(
// 'label' => 'profile.company.size',
// ))
->add('size', ChoiceType::class, array(
'label' => 'profile.company.size',
'choices' => array(
'TPE (1 à 9 salariés) ' => 1,
'PME (10 à 249 salariés) ' => 10,
'ETI (250 à 4 999 salariés)' =>250 ,
'GE (à partir de 5 000 salariés)' => 5000,
),
))
->add('isPrivate', CheckboxType::class, array(
'label' => 'Page entreprise privé ( non listée en front )',
@@ -16,6 +16,7 @@ use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\CountryType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\UrlType;
use Symfony\Component\Form\FormBuilderInterface;
@@ -62,12 +63,26 @@ class CompanyProfileType extends AbstractType
'class' => 'form-control'
)
))
->add('size', TextType::class, array(
->add('size', ChoiceType::class, array(
'label' => 'profile.company.size',
'choices' => array(
'TPE (1 à 9 salariés) ' => 1,
'PME (10 à 249 salariés) ' => 10,
'ETI (250 à 4 999 salariés)' =>250 ,
'GE (à partir de 5 000 salariés)' => 5000,
),
'attr' => array(
'class' => 'form-control'
)
));
))
// ->add('size', TextType::class, array(
// 'label' => 'profile.company.size',
// 'attr' => array(
// 'class' => 'form-control'
// )
// ))
;
// Addresses fields
$builder
->add('address', TextType::class, array(
@@ -168,12 +168,12 @@ class AnswerRepository extends AbstractRepository
$query
->select(['a','user'])
->join('a.user', 'user')
->join('a.ad', 'ad')
->leftjoin('a.ad', 'ad')
->leftjoin('a.video', 'video')
->leftjoin('a.company', 'company');
$countQuery
->join('a.user', 'user')
->join('a.ad', 'ad')
->leftjoin('a.ad', 'ad')
->leftjoin('a.video', 'video')
->leftjoin('a.company', 'company');
// $countQuery
@@ -216,8 +216,11 @@ class MediaManager
$message = array('success' => 200,
'filename' => $media->getTitle(),
'originalFilename' => $uploadedFile->getClientOriginalName(),
'originalUrl' => $media->getOriginalUrl(),
'thumbnails' => $media->getThumbnails(),
'uriVimeo' => str_replace('videos', 'video', $uriVimeo),
'mediaId' => $media->getId(),
'heure' => date("H:i:s"),
);
} else {
$message = array('success' => 500,