Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5b9c7e57fe | |||
| 8f8e2c3b2f | |||
| d0e7ee8b74 | |||
| c0445c9ad3 | |||
| 65dfac1af5 | |||
| 50831adf20 | |||
| 6f7d329cc6 | |||
| 5f2e5fddbf | |||
| e905cb063c |
@@ -3,7 +3,8 @@
|
||||
<div class="row center-align">
|
||||
<div class="col s12">
|
||||
<div class="owl-carousel territory-carousel">
|
||||
{% for territory in territories %}
|
||||
|
||||
{% for territory in territories if territory.territory.isPrivate != true %}
|
||||
{% set territory = territory.territory %}
|
||||
<div class="item">
|
||||
<h2 class="blue-text no-margin-top">
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
<div class="box box-primary">
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">{{ ad.title }}</h3>
|
||||
<br/><i class="fa fa-link"></i>Url : {{ path("ad_show",{'alias':ad.alias})}}<br />
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ form_errors(form) }}
|
||||
@@ -41,7 +42,7 @@
|
||||
<h3 class="box-title">Informations</h3>
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ form_row(form.status) }} {{ form_row(form.isPromoted) }} {{ form_row(form.isVerified) }}
|
||||
{{ form_row(form.status) }} {{ form_row(form.isPromoted) }} {{ form_row(form.isVerified) }} {{ form_row(form.isPrivate) }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -22,9 +22,11 @@
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">{{ company.brandName }}</h3>
|
||||
<br><span>{{ company.mainUser.email }}</span>
|
||||
<br/><i class="fa fa-link"></i>Url : {{ path("company_show",{'alias':company.alias})}}<br />
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ form_errors(form) }}
|
||||
{{ form_row(form.isPrivate) }}
|
||||
{{ form_row(form.emphasis) }}
|
||||
{{ form_row(form.emphasisOrder) }}
|
||||
{{ form_row(form.brandName) }}
|
||||
|
||||
@@ -22,9 +22,11 @@
|
||||
<div class="box-header">
|
||||
<h3 class="box-title">{{ territory.brandName }}</h3>
|
||||
<br><span>{{ territory.mainUser.email }}</span>
|
||||
<br/><i class="fa fa-link"></i>Url : {{ path("territory_show",{'alias':territory.alias})}}<br />
|
||||
</div>
|
||||
<div class="box-body">
|
||||
{{ form_errors(form) }}
|
||||
{{ form_row(form.isPrivate) }}
|
||||
{{ form_row(form.emphasis) }}
|
||||
{{ form_row(form.emphasisOrder) }}
|
||||
{{ form_row(form.brandName) }}
|
||||
|
||||
@@ -90,18 +90,20 @@
|
||||
<p class="chip">{{ tag }}</p>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div class="col s12 m-t-20 ">
|
||||
{% if not is_granted('ROLE_COMPANY') %}
|
||||
<p class="item-detail-reply center-align">
|
||||
<a href="{{ path('talent_spontaneous_application_create',{'id': company.id}) }}"
|
||||
class="btn btn-default">
|
||||
Candidature spontanée
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if not is_granted('ROLE_COMPANY') %}
|
||||
<div class="row bg-bordered row-promoted">
|
||||
<div class="col s12 center-align">
|
||||
<h3>Vous souhaitez rejoindre <span class="color-blue1">{{ company.brandname }}</span> ?</h3>
|
||||
<a href="{{ path('talent_spontaneous_application_create',{'id': company.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Candidature spontanée
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
<div id="offers" class="row">
|
||||
<div class="col s12">
|
||||
<h1>Les offres d’emploi pour {{ company.brandname }}</h1>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% for a in ads %}
|
||||
{% for a in ads if a.isPrivate != true %}
|
||||
<div class="col s12">
|
||||
<div class="card z-depth-3">
|
||||
<div class="card-image">
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{% for a in ads %}
|
||||
{% for a in ads if a.isPrivate != true %}
|
||||
<div id="adRow" class="row item-list-bis z-depth-2 row-noMargin">
|
||||
<div class="col s12 m4 col-noPadding ad-picture">
|
||||
<a href="{{ path('ad_show',{'alias': a.alias }) }}" title="{{ a.title }}" class="item-list-media">
|
||||
|
||||
@@ -34,6 +34,15 @@
|
||||
</div>
|
||||
<div class="row m-b-0 p-b-30">
|
||||
<div class="col s12 m12">
|
||||
<div id="header-resultats">
|
||||
{% if isPromotedAds is defined%}
|
||||
<div><span class="color-blue2">{{ ads|length }}</span> offres d'emploi pourvues</div>
|
||||
<div><span><a href="{{ path('ad_search_result') }}">Voir les offres d'emploi en cours</a></span></div>
|
||||
{% else %}
|
||||
<div><span class="color-blue2">{{ ads|length }}</span> offres d'emploi en cours</div>
|
||||
<div><span><a href="{{ path('ad_search_result', {'promoted': true }) }}">Voir les offres d'emploi pourvues</a></span></div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div id="liste-resultats">
|
||||
{% if ads|length > 0 and noResults == false %}
|
||||
{% include 'default/ad_listing.html.twig' with {'ads':ads} %}
|
||||
|
||||
@@ -96,16 +96,29 @@
|
||||
{{ 'ad.talent.isAnswer.label'|trans }}
|
||||
</div>
|
||||
{% elseif not is_granted('ROLE_COMPANY') %}
|
||||
<p class="item-detail-reply">
|
||||
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Postuler
|
||||
</a>
|
||||
</p>
|
||||
{% if not ad.isPromoted %}
|
||||
<p class="item-detail-reply">
|
||||
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Postuler
|
||||
</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% if ad.isPromoted %}
|
||||
<div class="row bg-bordered row-promoted">
|
||||
<div class="col s12 center-align">
|
||||
<h3>Vous souhaitez rejoindre <span class="color-blue1">{{ ad.company.brandname }}</span> ?</h3>
|
||||
<a href="{{ path('talent_spontaneous_application_create',{'id': ad.company.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Candidature spontanée
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="col s12 hide-on-large-only m-b-50">
|
||||
{% include 'default/ad_sidebar.html.twig' with {'ad': ad, 'showBrand': true} %}
|
||||
</div>
|
||||
|
||||
@@ -56,12 +56,18 @@
|
||||
{{ 'ad.talent.isAnswer.label'|trans }}
|
||||
</div>
|
||||
{% elseif not is_granted('ROLE_COMPANY') %}
|
||||
<p class="item-detail-reply">
|
||||
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Postuler
|
||||
</a>
|
||||
</p>
|
||||
{% if not ad.isPromoted %}
|
||||
<p class="item-detail-reply">
|
||||
<a href="{{ path('talent_answer_create',{'id': ad.getId()}) }}"
|
||||
class="btn btn-default">
|
||||
Postuler
|
||||
</a>
|
||||
</p>
|
||||
{% else %}
|
||||
<div class="item-detail-ispromoted">
|
||||
Offre pourvue
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</div>
|
||||
@@ -1,4 +1,4 @@
|
||||
{% for company in companies %}
|
||||
{% for company in companies if company.isPrivate != true %}
|
||||
<div class="col s12">
|
||||
<div class="card z-depth-3 card-company">
|
||||
<div class="card-content card-content-company">
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
<div class="row m-b-0 p-b-30">
|
||||
<div class="col s12 m12">
|
||||
<div id="liste-resultats">
|
||||
{% for c in companies %}
|
||||
{% for c in companies if c.isPrivate != true %}
|
||||
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
|
||||
<div class="row item-list-bis z-depth-2 row-noMargin">
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@
|
||||
<h2 class="blue-text no-margin-top">Les territoires <span>pour vivre et travailler</span></h2>
|
||||
{% if territories %}
|
||||
<div class="owl-carousel owl-carousel-home territory-carousel">
|
||||
{% for territory in territories if territory.presentationVideo %}
|
||||
{% for territory in territories if territory.presentationVideo and territory.isPrivate != true %}
|
||||
<div class="item">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<div class="col s12">
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
<div class="row m-b-0 p-b-30">
|
||||
<div class="col s12 m12">
|
||||
<div id="liste-resultats">
|
||||
{% for c in companies %}
|
||||
{% for c in companies if c.isPrivate != true %}
|
||||
{% if (c.presentationVideo is not null or c.getPublishedAds|length > 0 ) %}
|
||||
<div class="row item-list-bis z-depth-2 row-noMargin">
|
||||
|
||||
|
||||
@@ -288,9 +288,9 @@ class AdController extends Controller
|
||||
***********************/
|
||||
|
||||
/**
|
||||
* @Route("/annonce/recherche/", name="ad_search_result")
|
||||
* @Route("/annonce/recherche/{promoted}", defaults={"promoted"=false}, name="ad_search_result")
|
||||
*/
|
||||
public function adSearchResultAction(Request $request)
|
||||
public function adSearchResultAction(Request $request, $promoted)
|
||||
{
|
||||
$session = $request->getSession();
|
||||
$form = $this->createForm(AdSearchType::class);
|
||||
@@ -307,7 +307,7 @@ class AdController extends Controller
|
||||
$adSearcher = $this->get('app.ad_searcher');
|
||||
$ads = $adSearcher->process($data);
|
||||
if(empty($ads)){
|
||||
$ads = $this->getPublishedAds();
|
||||
$ads = $this->getPublishedAds($promoted);
|
||||
$noResults = true;
|
||||
} else {
|
||||
$noResults = false;
|
||||
@@ -324,18 +324,19 @@ class AdController extends Controller
|
||||
|
||||
} else {
|
||||
|
||||
$ads = $this->getPublishedAds();
|
||||
$ads = $this->getPublishedAds($promoted);
|
||||
}
|
||||
|
||||
return $this->render('default/ad_search_result.html.twig', [
|
||||
'ads' => $ads,
|
||||
'noResults' => false
|
||||
'noResults' => false,
|
||||
'isPromotedAds' => $promoted
|
||||
]);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public function getPublishedAds()
|
||||
public function getPublishedAds($promoted)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$repo = $em->getRepository('AppBundle:Ad');
|
||||
@@ -345,6 +346,17 @@ class AdController extends Controller
|
||||
$mediaManager->getThumbnails($ad);
|
||||
}
|
||||
|
||||
return $this->filterPromoted($ads, $promoted);
|
||||
}
|
||||
|
||||
public function filterPromoted($result, $promoted = "false")
|
||||
{
|
||||
$ads = array();
|
||||
foreach ($result as $ad) {
|
||||
if ($ad->getIsPromoted() === (boolean)$promoted) {
|
||||
$ads[] = $ad;
|
||||
}
|
||||
}
|
||||
return $ads;
|
||||
}
|
||||
|
||||
|
||||
@@ -97,6 +97,13 @@ class Ad
|
||||
*/
|
||||
private $isPromoted;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
* @ORM\Column(name="is_private", type="boolean", nullable=true, options={"comment":"Annonce privé, non listée en front"})
|
||||
*/
|
||||
private $isPrivate;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
@@ -1076,4 +1083,64 @@ class Ad
|
||||
{
|
||||
return $this->territories;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set isPrivate.
|
||||
*
|
||||
* @param bool|null $isPrivate
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function setIsPrivate($isPrivate = null)
|
||||
{
|
||||
$this->isPrivate = $isPrivate;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get isPrivate.
|
||||
*
|
||||
* @return bool|null
|
||||
*/
|
||||
public function getIsPrivate()
|
||||
{
|
||||
return $this->isPrivate;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add bookmarkAd.
|
||||
*
|
||||
* @param \AppBundle\Entity\BookmarkAd $bookmarkAd
|
||||
*
|
||||
* @return Ad
|
||||
*/
|
||||
public function addBookmarkAd(\AppBundle\Entity\BookmarkAd $bookmarkAd)
|
||||
{
|
||||
$this->bookmarkAds[] = $bookmarkAd;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove bookmarkAd.
|
||||
*
|
||||
* @param \AppBundle\Entity\BookmarkAd $bookmarkAd
|
||||
*
|
||||
* @return boolean TRUE if this collection contained the specified element, FALSE otherwise.
|
||||
*/
|
||||
public function removeBookmarkAd(\AppBundle\Entity\BookmarkAd $bookmarkAd)
|
||||
{
|
||||
return $this->bookmarkAds->removeElement($bookmarkAd);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get bookmarkAds.
|
||||
*
|
||||
* @return \Doctrine\Common\Collections\Collection
|
||||
*/
|
||||
public function getBookmarkAds()
|
||||
{
|
||||
return $this->bookmarkAds;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,6 +120,13 @@ class Company
|
||||
*/
|
||||
private $searchable;
|
||||
|
||||
/**
|
||||
* @var boolean
|
||||
*
|
||||
* @ORM\Column(name="is_private", type="boolean", nullable=true, options={"comment":"Company privé, non listée en front"})
|
||||
*/
|
||||
private $isPrivate;
|
||||
|
||||
/***********************
|
||||
* OneToMany Array's
|
||||
***********************/
|
||||
@@ -803,4 +810,28 @@ class Company
|
||||
{
|
||||
return $this->descriptionAdmin;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set isPrivate.
|
||||
*
|
||||
* @param bool|null $isPrivate
|
||||
*
|
||||
* @return Company
|
||||
*/
|
||||
public function setIsPrivate($isPrivate = null)
|
||||
{
|
||||
$this->isPrivate = $isPrivate;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get isPrivate.
|
||||
*
|
||||
* @return bool|null
|
||||
*/
|
||||
public function getIsPrivate()
|
||||
{
|
||||
return $this->isPrivate;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,6 +82,10 @@ class AdType extends AbstractType
|
||||
->add('isVerified', CheckboxType::class, array(
|
||||
'label' => 'Vérifiée',
|
||||
'required' => false
|
||||
))
|
||||
->add('isPrivate', CheckboxType::class, array(
|
||||
'label' => 'Annonce privé ( non listée en front )',
|
||||
'required' => false
|
||||
));
|
||||
|
||||
// Emphasis
|
||||
|
||||
@@ -37,6 +37,10 @@ class CompanyAdminType extends AbstractType
|
||||
))
|
||||
->add('size', TextType::class, array(
|
||||
'label' => 'profile.company.size',
|
||||
))
|
||||
->add('isPrivate', CheckboxType::class, array(
|
||||
'label' => 'Page entreprise privé ( non listée en front )',
|
||||
'required' => false
|
||||
));
|
||||
// Addresses fields
|
||||
$builder
|
||||
|
||||
@@ -87,6 +87,10 @@ class TerritoryAdminType extends AbstractType
|
||||
'label' => 'Ordre',
|
||||
'required' => false
|
||||
));
|
||||
$builder->add('isPrivate', CheckboxType::class, array(
|
||||
'label' => 'Page territoire privé ( non listée en front )',
|
||||
'required' => false
|
||||
));
|
||||
}
|
||||
|
||||
public function configureOptions(OptionsResolver $resolver)
|
||||
|
||||
@@ -96,7 +96,7 @@ class AdSearcher
|
||||
{
|
||||
$ads = array();
|
||||
foreach ($result as $ad) {
|
||||
if ($ad->getStatus() == "PUBLISHED") {
|
||||
if ($ad->getStatus() == "PUBLISHED" && $ad->getIsPrivate() != true && $ad->getIsPromoted() != true) {
|
||||
$ads[] = $ad;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13129,7 +13129,7 @@ a.link-white-underline {
|
||||
padding-top: 10px; }
|
||||
|
||||
.profil-company {
|
||||
padding: 0 40px; }
|
||||
padding: 0 20px; }
|
||||
|
||||
/*************************** FLEX ****************************/
|
||||
.flexcontainer {
|
||||
@@ -13986,6 +13986,16 @@ a.link-white-underline {
|
||||
.items-list-dark .item-list p.item-list-name, .items-list-dark .item-list p.item-list-city {
|
||||
border-color: #AAAAAA; }
|
||||
|
||||
#header-resultats {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-items: flex-end;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 15px;
|
||||
font-size: 1rem; }
|
||||
#header-resultats a {
|
||||
color: #000; }
|
||||
|
||||
#liste-resultats .item-list-bis {
|
||||
margin-bottom: 20px;
|
||||
background: #FFFFFF;
|
||||
@@ -15769,6 +15779,21 @@ table.highlight > tbody > tr:hover {
|
||||
width: 101px;
|
||||
height: 101px; }
|
||||
|
||||
.item-detail-ispromoted {
|
||||
display: block;
|
||||
text-align: center;
|
||||
padding: 10px 20px;
|
||||
color: #ff9800;
|
||||
border: 1px solid #ff9800;
|
||||
border-radius: 6px;
|
||||
text-transform: uppercase;
|
||||
font-size: 1.1rem; }
|
||||
|
||||
#ad_show .row-promoted {
|
||||
padding-bottom: 40px; }
|
||||
#ad_show .row-promoted h3 span {
|
||||
text-decoration: none; }
|
||||
|
||||
#company_show .chip {
|
||||
font-size: 14px; }
|
||||
#company_show h3 {
|
||||
@@ -15788,6 +15813,11 @@ table.highlight > tbody > tr:hover {
|
||||
font-size: 16px;
|
||||
margin: 20px 0; }
|
||||
|
||||
#company_show .row-promoted {
|
||||
padding-bottom: 40px; }
|
||||
#company_show .row-promoted h3 span {
|
||||
text-decoration: none; }
|
||||
|
||||
#page-static {
|
||||
font-size: 14px;
|
||||
/***** OLD STEP *****/ }
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -70,7 +70,7 @@
|
||||
}
|
||||
|
||||
.profil-company {
|
||||
padding: 0 40px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
/*************************** FLEX ****************************/
|
||||
|
||||
@@ -55,6 +55,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
#header-resultats{
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-items: flex-end;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 15px;
|
||||
font-size: 1rem;
|
||||
a{
|
||||
color: #000;
|
||||
}
|
||||
}
|
||||
#liste-resultats {
|
||||
.item-list-bis {
|
||||
margin-bottom: 20px;
|
||||
|
||||
@@ -122,3 +122,23 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.item-detail-ispromoted{
|
||||
display: block;
|
||||
text-align: center;
|
||||
padding: 10px 20px;
|
||||
color: $orange;
|
||||
border: 1px solid $orange;
|
||||
border-radius: 6px;
|
||||
text-transform: uppercase;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
|
||||
#ad_show .row-promoted{
|
||||
h3{
|
||||
span{
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
@@ -28,4 +28,13 @@
|
||||
margin: 20px 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#company_show .row-promoted{
|
||||
h3{
|
||||
span{
|
||||
text-decoration: none;
|
||||
}
|
||||
}
|
||||
padding-bottom: 40px;
|
||||
}
|
||||
Reference in New Issue
Block a user