Compare commits
33 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| f012f91ca4 | |||
| 2ba454f2ab | |||
| 2426dc5abc | |||
| 703ec9a1bb | |||
| 4a72e4dfe6 | |||
| 607f7706ca | |||
| b0b1179bdc | |||
| 0e2494797e | |||
| 69a7595966 | |||
| e404b4d876 | |||
| fa8b21b93c | |||
| 8e8312c0f9 | |||
| 0297191e07 | |||
| e64ce55b66 | |||
| eda0562edc | |||
| 01f5823885 | |||
| 9ed2745e8d | |||
| 82c4911770 | |||
| 8df9b7af43 | |||
| 71259c40c6 | |||
| 2dd559fa64 | |||
| 90ae12995f | |||
| 7aa4a92cb6 | |||
| 6a9b48d629 | |||
| 032d10bb50 | |||
| 7731dd2c23 | |||
| 8c6e8f14a4 | |||
| f1c795e8cd | |||
| 5dd437d939 | |||
| 59f6854379 | |||
| c2450d3929 | |||
| 2f626dbad5 | |||
| 8bccabbcf6 |
@@ -10,6 +10,8 @@ RUN rm /etc/nginx/conf.d/default.conf \
|
||||
&& sed -i 's|include /etc/nginx/conf.d/\*.conf;|include /etc/nginx/conf.d/\*.conf;\ninclude /etc/nginx/sites-enabled/\*.conf;\n|' /etc/nginx/nginx.conf
|
||||
|
||||
COPY log_format.conf /etc/nginx/conf.d/
|
||||
COPY tt-dev.crt /etc/nginx/ssl/server.crt
|
||||
COPY tt-dev.key /etc/nginx/ssl/server.key
|
||||
|
||||
RUN apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
-----BEGIN CERTIFICATE-----
|
||||
MIIDrjCCApYCCQD0c9mokUtilTANBgkqhkiG9w0BAQsFADCBmDELMAkGA1UEBhMC
|
||||
RlIxDDAKBgNVBAgMA0JaSDEOMAwGA1UEBwwFQXVyYXkxGTAXBgNVBAoMEHRhbGVu
|
||||
dHN0dWJlLnRlc3QxETAPBgNVBAsMCGUtZGVjbGljMRkwFwYDVQQDDBB0YWxlbnRz
|
||||
dHViZS50ZXN0MSIwIAYJKoZIhvcNAQkBFhN0aG9tYXNAZS1kZWNsaWMuY29tMB4X
|
||||
DTE4MDQzMDA5MTkwMVoXDTE5MDQzMDA5MTkwMVowgZgxCzAJBgNVBAYTAkZSMQww
|
||||
CgYDVQQIDANCWkgxDjAMBgNVBAcMBUF1cmF5MRkwFwYDVQQKDBB0YWxlbnRzdHVi
|
||||
ZS50ZXN0MREwDwYDVQQLDAhlLWRlY2xpYzEZMBcGA1UEAwwQdGFsZW50c3R1YmUu
|
||||
dGVzdDEiMCAGCSqGSIb3DQEJARYTdGhvbWFzQGUtZGVjbGljLmNvbTCCASIwDQYJ
|
||||
KoZIhvcNAQEBBQADggEPADCCAQoCggEBANVTxapL6RtTjEoO4wWTswIqTW/zTI4B
|
||||
bETbPHYOeb8+kgLTxH04ETmVzPYz0b5RfkotY0EZzwntv3c5JsLnqqrQAXN4fcl3
|
||||
iIXCXMKUo1Nrbp0yAMGzGDmnpmvABE/nkg0ZJ3YeKV9xkEYcyMCU+DhUuazd1W3d
|
||||
odjMs/BHeuoZau9HRE+6lE+/tqWhHrmgRghP8g2Z2g8lrHak5BuQNwnvVmg6oJae
|
||||
94DWygKV7ZJ3vBHRkLIOaG+mVI8FRjrlHQke/tFStD2dd3TgsqvzYBM3f1VBm85y
|
||||
qhyIxr2s+xgOl2/Z0VZzmVgI2jAPhvN8VNvXtlFM6BOkyHAFwm7jCtcCAwEAATAN
|
||||
BgkqhkiG9w0BAQsFAAOCAQEAjlPu5wtZwW0jP0cBBBvZWLRe9+Wlz9uJXiOb2AMF
|
||||
ibYeKgcGNbruY8Ayvmm++C/mMpkm50NG5ycEiO5rB/1665zB5ibWAswRD+F5rjzx
|
||||
8qM4YsUVDkiuW5ul0RI2KO6llAbdQaCfaqXtsCZ+b/XVwe41S1ZkvigLaL99pscU
|
||||
ghgD9yz/RY6C7PHPS+8dF0Uc+YND3vqWfAhUQCXdXetXndPMxwBOXnT08RQOWMBK
|
||||
lTSHIsFACFhynL3wfQ6xH4+/TQkquxzqqh3MeB1LpqHiFChCoNmBPKWf7ZvFkg/p
|
||||
4DzXTkLs6G6/WM7DuBmwB6e5tevJfe/BSkzCLaJKABDaOA==
|
||||
-----END CERTIFICATE-----
|
||||
@@ -0,0 +1,28 @@
|
||||
-----BEGIN PRIVATE KEY-----
|
||||
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDVU8WqS+kbU4xK
|
||||
DuMFk7MCKk1v80yOAWxE2zx2Dnm/PpIC08R9OBE5lcz2M9G+UX5KLWNBGc8J7b93
|
||||
OSbC56qq0AFzeH3Jd4iFwlzClKNTa26dMgDBsxg5p6ZrwARP55INGSd2HilfcZBG
|
||||
HMjAlPg4VLms3dVt3aHYzLPwR3rqGWrvR0RPupRPv7aloR65oEYIT/INmdoPJax2
|
||||
pOQbkDcJ71ZoOqCWnveA1soCle2Sd7wR0ZCyDmhvplSPBUY65R0JHv7RUrQ9nXd0
|
||||
4LKr82ATN39VQZvOcqociMa9rPsYDpdv2dFWc5lYCNowD4bzfFTb17ZRTOgTpMhw
|
||||
BcJu4wrXAgMBAAECggEACj5ikIHiqLBDXU8Hsb3c666yVzzcoTkKROguKBEb4YYU
|
||||
ptQabFTj5tr9o5jranMpWFCDop2lpnlnJ0d0SAmt1VP1reDMUX9O6/VgVOukSB4x
|
||||
ipTbGnIKKMKXKDdpPZkGF2Ds1ywtmmqund9F+JFute3DmLxyQjtRSULTJSeZjGIj
|
||||
kk4mUHIZr71q2KocBEhDZhoaf6aiM3tfyXIlg0C6GzcfGKk4a2C6Ia7D24icPLa7
|
||||
JE4Omh6w8duQsme8YeFbbixLlwm+74qvo7k8ubqZAvvODQlKz4xiT1App4cTq6nm
|
||||
PbAuFvLX0DtkndBSgAUa3h8iuchdv15M2FkUWkenaQKBgQD7iup0vZqqIFh6Sk08
|
||||
k3Skbit6TXwMt4yjP9/JTgMaIO5LfZiht2xyxN4gN2XVp6k4Jn5SPxGuGV+e5QSr
|
||||
9R04x5wN6NwZAprL70UuztHZdXpzNVogF4hF4LdGDT8CbeFF5ciiTQaAKwX9euOT
|
||||
HRf6RGT80qiKVcZ+C3zhR6CxAwKBgQDZG39+6DzdGetLzls7B6R1PPV7RLOn6bts
|
||||
jbxSkx/VksHkS1Q4lG1fXM2q/VdSTFg/gNNKzLCADDVrO9KonvVrvMZlshiSLXTJ
|
||||
GVgfe+UGSL7VjbH4G4bAqznK5zK8ADI1BRyCU3UrzFqRHoV9h9e2qIfjJrK4taX7
|
||||
G5KAukDUnQKBgQC6GBLOnTtgY5+xkWjEyP6Ba7QkvlBpBB465FWGk31+BiDlnpyd
|
||||
/5pu6jC/OtzPDUQG84t/A4Pr/n+ciShEo4mj6SENtVmn8yJcf776Gy5rKBuYQj9U
|
||||
ALTjpZVRcRlNjccctBwT3tJRXgMHfbQBsYN8tr7TwHHKLh00QQF5lUlPywKBgB2a
|
||||
SkAbmnDrX9HuSTI7UIlLzo0ISRbUH+IlUVBRDz4nzJg8TTeJxYADP2fZM1bdYgsG
|
||||
ncjNMCPFhmMgvRCQ3BXcn5CuP/tuh0YEVqe0VP4OXTbxIxsZZb5Pmom4DIrl2/Ku
|
||||
x7xddNSMAK1Y5ArBwv/86spmNGhLHF6o28kBnGVhAoGAOcGzpJi1l0BzNUKBS512
|
||||
XlLUYswFW6OqcEk1iGTvEFUzZ9Agp2Yc7HZ3MrmCAjugx37tAfNKQglF2/AJ9Uuy
|
||||
yoUpPtdXX6CuPTMkzCkvAYbRGohE/cw7ZjI6vTqoEPiyrQA1lJYTIMQm3FYivjJl
|
||||
z84K0Vlv64BeiIpJrvzW+2A=
|
||||
-----END PRIVATE KEY-----
|
||||
@@ -5,6 +5,7 @@ services:
|
||||
nginx:
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ../volume/www:/home/www:cached
|
||||
restart: "no"
|
||||
|
||||
@@ -8,11 +8,14 @@ upstream store_php {
|
||||
}
|
||||
|
||||
server {
|
||||
|
||||
listen 80;
|
||||
listen 443 ssl;
|
||||
server_name talentstube.test;
|
||||
root /home/www/website/www/web;
|
||||
client_max_body_size 500M;
|
||||
sendfile off;
|
||||
ssl_certificate /etc/nginx/ssl/server.crt;
|
||||
ssl_certificate_key /etc/nginx/ssl/server.key;
|
||||
|
||||
# DEV
|
||||
location / {
|
||||
|
||||
@@ -66,6 +66,10 @@
|
||||
title="Modifier">
|
||||
<i class="fa fa-pencil-square-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
<a href="{{ path('admin_ad_refresh_img',{'id':ad.id}) }}" data-toggle="tooltip"
|
||||
title="Mise à jour image vimeo">
|
||||
<i class="fa fa-picture-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
|
||||
@@ -13,6 +13,8 @@
|
||||
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/AdminLTE.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/dist/css/skins/skin-blue.min.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
|
||||
<link rel="stylesheet" href="{{ asset('admin/AdminLTE/plugins/datatables/dataTables.bootstrap.css') }}">
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jquery-confirm/3.3.2/jquery-confirm.min.css">
|
||||
<script type="text/javascript" defer="defer" src="https://extend.vimeocdn.com/ga/64189815.js"></script>
|
||||
|
||||
{% block css %}
|
||||
|
||||
@@ -58,6 +58,10 @@
|
||||
style="margin-left: 5px;">
|
||||
<i class="fa fa-cart-plus" aria-hidden="true"></i>
|
||||
</a>
|
||||
<a href="{{ path('admin_company_refresh_img',{'id':company.id}) }}" data-toggle="tooltip"
|
||||
title="Mise à jour image vimeo">
|
||||
<i class="fa fa-picture-o" aria-hidden="true"></i>
|
||||
</a>
|
||||
{% if is_granted('ROLE_ALLOWED_TO_SWITCH') %}
|
||||
<a href="{{ path('company_dashboard',{'_switch_user':company.MainUser.username}) }}"
|
||||
data-toggle="tooltip" title="Se connecter avec ce compte"
|
||||
@@ -88,7 +92,7 @@
|
||||
"language": {
|
||||
"url": "https://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
|
||||
},
|
||||
"order": [[1, 'desc']],
|
||||
"order": [[0, 'desc']],
|
||||
"columnDefs": [
|
||||
{"targets": 0, "searchable": true, "orderable": true},
|
||||
{"targets": 1, "searchable": true, "orderable": true},
|
||||
|
||||
@@ -94,7 +94,7 @@
|
||||
{"targets": 4, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 5, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
],
|
||||
"order": [[1, "asc"]]
|
||||
"order": [[0, "desc"]]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
{{ form_row(form.emphasisOrder) }}
|
||||
{{ form_row(form.brandName) }}
|
||||
{{ form_row(form.description) }}
|
||||
{{ form_row(form.descriptionAdmin) }}
|
||||
{{ form_row(form.website) }}
|
||||
{{ form_row(form.tagsComma) }}
|
||||
{{ form_row(form.file) }}
|
||||
@@ -60,11 +61,24 @@
|
||||
</div>
|
||||
{{ form_end(form) }}
|
||||
{% endblock %}
|
||||
|
||||
{% block css %}
|
||||
<link rel="stylesheet" href="{{ asset('codemirror/lib/codemirror.css') }}">
|
||||
{% endblock %}
|
||||
{% block javascripts %}
|
||||
<script>
|
||||
$(document).ready(function () {
|
||||
$('[data-toggle="popover"]').popover();
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
<script src="{{ asset('codemirror/lib/codemirror.js') }}"></script>
|
||||
<script src="{{ asset('codemirror/mode/xml/xml.js') }}"></script>
|
||||
<script src="{{ asset('codemirror/mode/javascript/javascript.js') }}"></script>
|
||||
<script src="{{ asset('codemirror/mode/css/css.js') }}"></script>
|
||||
<script src="{{ asset('codemirror/mode/vbscript/vbscript.js') }}"></script>
|
||||
<script src="{{ asset('codemirror/mode/htmlmixed/htmlmixed.js') }}"></script>
|
||||
<script>
|
||||
var myCodeMirror = CodeMirror.fromTextArea(document.getElementById('territory_admin_descriptionAdmin'), {
|
||||
lineNumbers: true,
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
@@ -100,7 +100,7 @@
|
||||
{"targets": 3, "searchable": true, "orderable": true, "className": "text-center"},
|
||||
{"targets": 4, "searchable": false, "orderable": false, "className": "text-center"},
|
||||
],
|
||||
"order": [[1, "asc"]]
|
||||
"order": [[0, "desc"]]
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,147 @@
|
||||
{% extends 'admin/base_admin.html.twig' %}
|
||||
|
||||
{% block contentHeader %}
|
||||
<h1>
|
||||
Utilisateurs
|
||||
<small>Liste</small>
|
||||
</h1>
|
||||
<ol class="breadcrumb">
|
||||
<li>
|
||||
<a href="{{ path('admin_dashboard') }}">
|
||||
<i class="fa fa-dashboard"></i>
|
||||
Dashboard</a>
|
||||
</li>
|
||||
<li>Secret</li>
|
||||
<li class="active">Utilisateurs</li>
|
||||
</ol>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
|
||||
<div class="box box-primary">
|
||||
<div class="box-body">
|
||||
<table id="user_list_table" class="table table-hover table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="col-md-2">Nom</th>
|
||||
<th class="col-md-2">Prénom</th>
|
||||
<th class="col-md-3">Email</th>
|
||||
<th class="col-md-1">Rôle</th>
|
||||
<th class="col-md-3">Etat</th>
|
||||
<th class="col-md-1">Action</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for u in users %}
|
||||
<tr>
|
||||
<td>{{ u.lastname }}</td>
|
||||
<td>{{ u.firstname }}</td>
|
||||
<td>{{ u.email }}</td>
|
||||
<td>
|
||||
{% for r in u.roles %}
|
||||
{% if r != "ROLE_USER" and r == "ROLE_TALENT" %}
|
||||
<span class="badge bg-blue" style="font-weight: 400;">{{ r }}</span>
|
||||
{% elseif r != "ROLE_USER" and r == "ROLE_COMPANY" %}
|
||||
<span class="badge bg-orange" style="font-weight: 400;">{{ r }}</span>
|
||||
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
</td>
|
||||
<td>
|
||||
{% if u.enabled %}
|
||||
Activé
|
||||
{% else %}
|
||||
Désactivé
|
||||
<br/>
|
||||
<a href="{{ path('admin_user_resend',{'id':u.id}) }}">Renvoyer le mail de confirmation</a>
|
||||
{% endif %}
|
||||
</td>
|
||||
|
||||
<td>
|
||||
<a class="delete-user" href="{{ path('admin_user_delete',{'id':u.id}) }}" data-toggle="tooltip" title="Supprimer">
|
||||
<i class="fa fa-trash"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block javascripts %}
|
||||
<script>
|
||||
$(function () {
|
||||
$('#user_list_table').DataTable({
|
||||
"paging": true,
|
||||
"lengthChange": true,
|
||||
"searching": true,
|
||||
"ordering": true,
|
||||
"info": true,
|
||||
"autoWidth": false,
|
||||
"language": {
|
||||
"url": "https://cdn.datatables.net/plug-ins/1.10.11/i18n/French.json"
|
||||
},
|
||||
"columnDefs": [
|
||||
{
|
||||
"targets": 0,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
}, {
|
||||
"targets": 1,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
}, {
|
||||
"targets": 2,
|
||||
"searchable": true,
|
||||
"orderable": true
|
||||
}, {
|
||||
"targets": 3,
|
||||
"searchable": true,
|
||||
"orderable": true,
|
||||
"className": "text-center"
|
||||
}, {
|
||||
"targets": 4,
|
||||
"searchable": false,
|
||||
"orderable": false,
|
||||
"className": "text-center"
|
||||
}, {
|
||||
"targets": 5,
|
||||
"searchable": false,
|
||||
"orderable": false,
|
||||
"className": "text-center"
|
||||
}
|
||||
]
|
||||
});
|
||||
});
|
||||
|
||||
$(document).ready(function () {
|
||||
$('[data-toggle="popover"]').popover();
|
||||
|
||||
$(".delete-user").confirm({
|
||||
title: "Êtes vous sûr de supprimer cet utilisateur ?",
|
||||
content: "Supprimer cet utilisateur supprimera, son compte, son entreprise, ses réponses, médias",
|
||||
type: 'red',
|
||||
boxWidth: '30%',
|
||||
useBootstrap: false,
|
||||
buttons: {
|
||||
confirm: {
|
||||
text: 'Confirmer',
|
||||
action: function () {
|
||||
console.log(this.$target);
|
||||
location.href = this.$target.attr('href');
|
||||
return true;
|
||||
}
|
||||
},
|
||||
cancel: {
|
||||
text: 'Annuler'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
{% endblock %}
|
||||
@@ -106,11 +106,11 @@
|
||||
$('.fa-refresh').show();
|
||||
var month1 = obj.date1.getMonth();
|
||||
var day1 = obj.date1.getDate();
|
||||
var year1 = obj.date1.getUTCFullYear();
|
||||
var year1 = obj.date1.getFullYear();
|
||||
var month2 = obj.date2.getMonth();
|
||||
var day2 = obj.date2.getDate();
|
||||
var year2 = obj.date2.getUTCFullYear();
|
||||
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:00";
|
||||
var year2 = obj.date2.getFullYear();
|
||||
var date1 = (month1 + 1) + "/" + day1 + "/" + year1 +" 00:00:01";
|
||||
var date2 = (month2 + 1) +"/" + day2 + "/" + year2 +" 23:59:59";
|
||||
getChartData(date1, date2);
|
||||
});
|
||||
|
||||
@@ -35,13 +35,17 @@
|
||||
<div class="col s12 m12 l8 xl9">
|
||||
{% if ad.video and ad.status != "CLOSED" %}
|
||||
<div class="row m-b-0" id="adVideo">
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<div class="col s12">
|
||||
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
{% if ad.id == 38 %}
|
||||
<img class="responsive-img" src="{{asset('/img/GROUPE-ROCHER-TT.jpg')}}">
|
||||
{% else %}
|
||||
<div class="embed-responsive embed-responsive-16by9">
|
||||
<div class="col s12">
|
||||
<iframe src="https://player.vimeo.com/video/{{ ad.video.cdnUrl|replace({ "/videos/": ""}) }}"
|
||||
width="100%" height="640" frameborder="0" webkitallowfullscreen mozallowfullscreen
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if ad.isPromoted %}
|
||||
<div class="isPromoted"><img src="{{asset('/img/offre-pourvue-gauche.png')}}" alt="promoted"></div>
|
||||
{% endif %}
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
{# VIDEO #}
|
||||
<div class="col l12 m12 s12 home-content col-noPadding">
|
||||
<div id="homeTeaser" class="valign-wrapper">
|
||||
<h1 class="white-text center-align">1er job board <span>100% vidéo</span></h1><br />
|
||||
<h1 class="white-text center-align">1ère plateforme pour l’emploi <span>100% vidéo</span></h1><br />
|
||||
<div class="link-home-head">
|
||||
<a data-target="modal_concept" href="#!" class="btn btn-default btn-round btn-concept modal-trigger">
|
||||
Le concept en vidéo
|
||||
|
||||
@@ -80,12 +80,11 @@
|
||||
<div id="modalProfilePicture" class="modal">
|
||||
<div class="modal-content">
|
||||
<h4>Edition de votre photo de profil</h4>
|
||||
{#<div class="row">
|
||||
<div class="row">
|
||||
{{ render(controller(
|
||||
'AppBundle:Media:profilePicture'
|
||||
)) }}
|
||||
</div>#}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#!" class="modal-action modal-close waves-effect waves-green btn-flat">Fermer</a>
|
||||
|
||||
@@ -113,10 +113,7 @@
|
||||
|
||||
{% block javascripts %}
|
||||
{{ parent() }}
|
||||
<script src="https://player.vimeo.com/api/player.js"></script>
|
||||
<script>
|
||||
var iframe = document.querySelector('iframe');
|
||||
var player = new Vimeo.Player(iframe);
|
||||
$(document).ready(function(){
|
||||
$.get( "{{ path('talent_ajaxRecStat',{'id': talent.id }) }}", function( data ) {
|
||||
});
|
||||
|
||||
@@ -95,6 +95,17 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% if company.descriptionAdmin %}
|
||||
<div class="col s12 m12 l8 xl9 right">
|
||||
<div class="row bg-bordered">
|
||||
<div class="col s12">
|
||||
<div class="item-detail-description-bo">
|
||||
<p>{{ company.descriptionAdmin|raw }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if companyAds|length > 0 %}
|
||||
<div id="offers" class="row">
|
||||
<div class="col s12">
|
||||
|
||||
@@ -40,4 +40,5 @@ assetic:
|
||||
- 'js/vendors/typeahead.js'
|
||||
- 'js/company.js'
|
||||
- 'js/backend.js'
|
||||
- 'js/tags.js'
|
||||
- 'js/tags.js'
|
||||
- 'js/vendors/jquery-confirm.min.js'
|
||||
@@ -182,13 +182,11 @@ hwi_oauth:
|
||||
paths:
|
||||
email: email
|
||||
profilepicture: picture.data.url
|
||||
options:
|
||||
display: popup
|
||||
#csrf: true
|
||||
linkedin:
|
||||
type: linkedin
|
||||
client_id: 77ywkne3b8tcnk
|
||||
client_secret: HB9Zdx42s7RPLUqm
|
||||
client_id: 86m6hegwyj8lbo
|
||||
client_secret: LIOibqDszsP2vQSr
|
||||
infos_url: "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,location,email-address,picture-urls::(original))?format=json"
|
||||
options:
|
||||
#csrf: true
|
||||
|
||||
@@ -13,6 +13,11 @@ security:
|
||||
|
||||
main:
|
||||
pattern: ^/
|
||||
remember_me:
|
||||
secret: '%kernel.secret%'
|
||||
lifetime: 14515200
|
||||
path: /
|
||||
always_remember_me: true
|
||||
form_login:
|
||||
provider: fos_userbundle
|
||||
csrf_token_generator: security.csrf.token_manager
|
||||
|
||||
@@ -10,7 +10,6 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
|
||||
class AdController extends Controller
|
||||
{
|
||||
|
||||
@@ -111,7 +110,6 @@ class AdController extends Controller
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/ad/{id}/edit", name="admin_ad_edit")
|
||||
*/
|
||||
@@ -130,6 +128,16 @@ class AdController extends Controller
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/ad/{id}/refresh-img", name="admin_ad_refresh_img")
|
||||
*/
|
||||
public function adminAdRefreshImgAction(Request $request, Ad $ad)
|
||||
{
|
||||
$mediaManager = $this->get('media_manager');
|
||||
$mediaManager->getThumbnails($ad, true);
|
||||
return $this->redirectToRoute('admin_ad_list');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/ad/{id}/show", name="admin_ad_show")
|
||||
*/
|
||||
|
||||
@@ -12,7 +12,6 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
|
||||
class CompanyController extends Controller
|
||||
{
|
||||
|
||||
@@ -88,4 +87,14 @@ class CompanyController extends Controller
|
||||
'newP' => $newsP,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/company/{id}/refresh-img", name="admin_company_refresh_img")
|
||||
*/
|
||||
public function adminCompanyRefreshImgAction(Request $request, Company $company)
|
||||
{
|
||||
$mediaManager = $this->get('media_manager');
|
||||
$mediaManager->getThumbnails($company, true);
|
||||
return $this->redirectToRoute('admin_config_company');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8,7 +8,6 @@ use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
|
||||
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
|
||||
|
||||
class TalentController extends Controller
|
||||
{
|
||||
|
||||
|
||||
@@ -11,7 +11,6 @@ use Symfony\Bundle\FrameworkBundle\Controller\Controller;
|
||||
use Symfony\Component\HttpFoundation\Request;
|
||||
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
|
||||
@@ -30,7 +29,7 @@ class UserController extends Controller
|
||||
}
|
||||
}
|
||||
return $this->render('admin/user_list.html.twig', [
|
||||
'users' => $users
|
||||
'users' => $users,
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -64,4 +63,142 @@ class UserController extends Controller
|
||||
'form' => $form->createView(),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/user/list", name="admin_config_others_user")
|
||||
*/
|
||||
public function adminOthersUsersListAction(Request $request)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$t = $em->getRepository('AppBundle:User')->findTalentsAndCompanies();
|
||||
return $this->render('admin/users_list.html.twig', array(
|
||||
'users' => $t,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/user/{id}/resend", name="admin_user_resend")
|
||||
*/
|
||||
public function adminUserResendAction(Request $request, $id)
|
||||
{
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
$user = $userManager->findUserBy(array('id' => $id));
|
||||
$mailer = $this->get('fos_user.mailer');
|
||||
$mailer->sendConfirmationEmailMessage($user);
|
||||
|
||||
return $this->redirectToRoute('admin_config_user');
|
||||
}
|
||||
|
||||
/**
|
||||
* @Route("/admin/config/user/{id}/delete", name="admin_user_delete")
|
||||
*/
|
||||
public function adminUserDeleteAction(Request $request, $id)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
$t = $em->getRepository('AppBundle:User')->findByRole('ROLE_TALENT');
|
||||
|
||||
$userManager = $this->get('fos_user.user_manager');
|
||||
$user = $userManager->findUserBy(array('id' => $id));
|
||||
if (\is_null($user)) {
|
||||
// user not found, generate $notFoundResponse
|
||||
$this->addFlash(
|
||||
'notice',
|
||||
' user not found !'
|
||||
);
|
||||
}
|
||||
|
||||
\assert(!\is_null($user));
|
||||
$company = $user->getCompany();
|
||||
if ($company) {
|
||||
$company->setPresentationVideo(null);
|
||||
$em->persist($company);
|
||||
$em->flush();
|
||||
}
|
||||
$this->deleteRelation($user);
|
||||
$em->remove($user);
|
||||
$em->flush();
|
||||
if ($company) {
|
||||
$em->remove($company);
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
// if ($company) {
|
||||
// $em->remove($company);
|
||||
// }
|
||||
$em->flush();
|
||||
|
||||
return $this->redirectToRoute('admin_config_others_user');
|
||||
}
|
||||
|
||||
public function deleteRelation($user)
|
||||
{
|
||||
$em = $this->getDoctrine()->getManager();
|
||||
|
||||
$sendMessage = $em->getRepository('AppBundle:Message')->findBy(array('sender' => $user));
|
||||
if ($sendMessage) {
|
||||
foreach ($sendMessage as $key => $message) {
|
||||
$message->setSender(null);
|
||||
$message->setAnswer(null);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
$recipMessage = $em->getRepository('AppBundle:Message')->findBy(array('recipient' => $user));
|
||||
if ($recipMessage) {
|
||||
foreach ($recipMessage as $key => $message) {
|
||||
$message->setRecipient(null);
|
||||
$message->setAnswer(null);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
$bookmarks = $em->getRepository('AppBundle:Bookmark')->findBy(array('creator' => $user));
|
||||
if ($bookmarks) {
|
||||
foreach ($bookmarks as $key => $bookmark) {
|
||||
$em->remove($bookmark);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
$answers = $em->getRepository('AppBundle:Answer')->findBy(array('user' => $user));
|
||||
if ($answers) {
|
||||
foreach ($answers as $key => $answer) {
|
||||
$em->remove($answer);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
$ads = $em->getRepository('AppBundle:Ad')->findBy(array('creator' => $user));
|
||||
if ($ads) {
|
||||
foreach ($ads as $key => $ad) {
|
||||
$bms = $em->getRepository('AppBundle:BookmarkAd')->findBy(array('ad' => $ad));
|
||||
foreach ($bms as $key2 => $bm) {
|
||||
$em->remove($bm);
|
||||
}
|
||||
$em->remove($ad);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
$ads = $em->getRepository('AppBundle:Ad')->findBy(array('company' => $user->getCompany()));
|
||||
if ($ads) {
|
||||
foreach ($ads as $key => $ad) {
|
||||
$bms = $em->getRepository('AppBundle:BookmarkAd')->findBy(array('ad' => $ad));
|
||||
foreach ($bms as $key2 => $bm) {
|
||||
$em->remove($bm);
|
||||
}
|
||||
$em->remove($ad);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
$medias = $em->getRepository('AppBundle:Media')->findBy(array('creator' => $user));
|
||||
if ($medias) {
|
||||
foreach ($medias as $key => $media) {
|
||||
$em->remove($media);
|
||||
}
|
||||
$em->flush();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -173,25 +173,30 @@ class Ad
|
||||
***********************/
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Answer", mappedBy="ad", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Answer", mappedBy="ad", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $answers;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\ProductAd", mappedBy="ad", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\ProductAd", mappedBy="ad", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $products;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist"})
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $draftNotes;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="ad", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="ad", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $territories;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\BookmarkAd", mappedBy="ad", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $bookmarkAds;
|
||||
|
||||
|
||||
/***********************
|
||||
* Constructor
|
||||
|
||||
@@ -71,12 +71,12 @@ class Answer
|
||||
***********************/
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist"})
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $notes;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Message", mappedBy="answer", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Message", mappedBy="answer", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $messages;
|
||||
|
||||
@@ -84,7 +84,6 @@ class Answer
|
||||
* Constructor
|
||||
***********************/
|
||||
|
||||
|
||||
public function __construct($user = null, $ad = null, $status = null, $company = null)
|
||||
{
|
||||
$this->notes = new \Doctrine\Common\Collections\ArrayCollection();
|
||||
@@ -116,12 +115,10 @@ class Answer
|
||||
|
||||
}
|
||||
|
||||
|
||||
/***********************
|
||||
* Getters & Setters
|
||||
***********************/
|
||||
|
||||
|
||||
/**
|
||||
* Get id.
|
||||
*
|
||||
|
||||
@@ -51,7 +51,7 @@ class Bookmark
|
||||
***********************/
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\User", mappedBy="sharedBookmarks" ,cascade={"persist"})
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\User", mappedBy="sharedBookmarks" ,cascade={"persist", "remove"})
|
||||
*/
|
||||
private $sharedWith;
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ class BookmarkAd
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist"})
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist","remove"})
|
||||
*/
|
||||
private $notes;
|
||||
|
||||
@@ -42,7 +42,6 @@ class BookmarkAd
|
||||
*/
|
||||
private $ad;
|
||||
|
||||
|
||||
/***********************
|
||||
* Constructor
|
||||
***********************/
|
||||
@@ -57,7 +56,6 @@ class BookmarkAd
|
||||
* Getters & Setters
|
||||
***********************/
|
||||
|
||||
|
||||
/**
|
||||
* Get id.
|
||||
*
|
||||
|
||||
@@ -48,7 +48,7 @@ class BookmarkUser
|
||||
***********************/
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist"})
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Note", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $notes;
|
||||
|
||||
|
||||
@@ -56,6 +56,13 @@ class Company
|
||||
*/
|
||||
private $description;
|
||||
|
||||
/**
|
||||
* @var text
|
||||
*
|
||||
* @ORM\Column(name="description_admin", type="text", length=255, nullable=true)
|
||||
*/
|
||||
private $descriptionAdmin;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
*
|
||||
@@ -78,10 +85,10 @@ class Company
|
||||
private $alias;
|
||||
|
||||
/**
|
||||
* @ORM\OneToOne(targetEntity="AppBundle\Entity\Media", cascade={"persist"})
|
||||
* @ORM\JoinColumn(nullable=true)
|
||||
* @ORM\OneToOne(targetEntity="AppBundle\Entity\Media", cascade={"persist", "remove"})
|
||||
* @ORM\JoinColumn(name="presentation_video_id", nullable=true)
|
||||
*/
|
||||
private $presentation_video;
|
||||
private $presentationVideo;
|
||||
|
||||
/**
|
||||
* @var string
|
||||
@@ -128,26 +135,25 @@ class Company
|
||||
private $users;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Ad",mappedBy="company", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Ad",mappedBy="company", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $ads;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="territory", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="territory", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $territoryAds;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="company", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\TerritoryAd", mappedBy="company", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $territories;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Answer",mappedBy="company", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Answer",mappedBy="company", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $spontaneousApplications;
|
||||
|
||||
|
||||
/***********************
|
||||
* Constructor
|
||||
***********************/
|
||||
@@ -164,7 +170,8 @@ class Company
|
||||
* Custom Function
|
||||
***********************/
|
||||
|
||||
public function init(){
|
||||
public function init()
|
||||
{
|
||||
$this->initAddress();
|
||||
$this->initTags();
|
||||
$this->initExtra();
|
||||
@@ -245,8 +252,8 @@ class Company
|
||||
{
|
||||
$arrayPublishedAds = array();
|
||||
foreach ($this->getAds() as $ad) {
|
||||
if( $ad->getStatus() == "PUBLISHED") {
|
||||
array_push($arrayPublishedAds, $ad);
|
||||
if ($ad->getStatus() == "PUBLISHED") {
|
||||
array_push($arrayPublishedAds, $ad);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -267,7 +274,6 @@ class Company
|
||||
* Getter & Setters
|
||||
***********************/
|
||||
|
||||
|
||||
/**
|
||||
* Get id.
|
||||
*
|
||||
@@ -491,7 +497,7 @@ class Company
|
||||
*/
|
||||
public function setPresentationVideo(\AppBundle\Entity\Media $presentationVideo = null)
|
||||
{
|
||||
$this->presentation_video = $presentationVideo;
|
||||
$this->presentationVideo = $presentationVideo;
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -503,7 +509,7 @@ class Company
|
||||
*/
|
||||
public function getPresentationVideo()
|
||||
{
|
||||
return $this->presentation_video;
|
||||
return $this->presentationVideo;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -594,7 +600,6 @@ class Company
|
||||
$this->file = $file;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Set emphasis.
|
||||
*
|
||||
@@ -774,4 +779,28 @@ class Company
|
||||
{
|
||||
return $this->spontaneousApplications;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set descriptionAdmin.
|
||||
*
|
||||
* @param string|null $descriptionAdmin
|
||||
*
|
||||
* @return Company
|
||||
*/
|
||||
public function setDescriptionAdmin($descriptionAdmin = null)
|
||||
{
|
||||
$this->descriptionAdmin = $descriptionAdmin;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get descriptionAdmin.
|
||||
*
|
||||
* @return string|null
|
||||
*/
|
||||
public function getDescriptionAdmin()
|
||||
{
|
||||
return $this->descriptionAdmin;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ class ProductAd
|
||||
private $id;
|
||||
|
||||
/**
|
||||
* @ORM\OneToOne(targetEntity="AppBundle\Entity\Product", cascade={"persist"})
|
||||
* @ORM\OneToOne(targetEntity="AppBundle\Entity\Product", cascade={"persist" , "remove"})
|
||||
*/
|
||||
private $product;
|
||||
|
||||
|
||||
@@ -69,49 +69,47 @@ class User extends BaseUser
|
||||
|
||||
private $file;
|
||||
|
||||
|
||||
/***********************
|
||||
* OneToMany Array's
|
||||
***********************/
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Answer",mappedBy="user", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Answer",mappedBy="user", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $answers;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Ad",mappedBy="creator", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Ad",mappedBy="creator", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $ads;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Product",mappedBy="user", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Product",mappedBy="user", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $products;
|
||||
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Media",mappedBy="creator", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Media",mappedBy="creator", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $medias;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Bookmark",mappedBy="creator", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Bookmark",mappedBy="creator", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $bookmarks;
|
||||
|
||||
/**
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Bookmark", inversedBy="sharedWith", cascade={"persist"})
|
||||
* @ORM\ManyToMany(targetEntity="AppBundle\Entity\Bookmark", inversedBy="sharedWith", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $sharedBookmarks;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Message",mappedBy="sender", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Message",mappedBy="sender", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $sendedMessages;
|
||||
|
||||
/**
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Message",mappedBy="recipient", cascade={"persist"})
|
||||
* @ORM\OneToMany(targetEntity="AppBundle\Entity\Message",mappedBy="recipient", cascade={"persist", "remove"})
|
||||
*/
|
||||
private $receivedMessages;
|
||||
|
||||
@@ -151,8 +149,6 @@ class User extends BaseUser
|
||||
*/
|
||||
private $socialPicture;
|
||||
|
||||
|
||||
|
||||
/***********************
|
||||
* Constructor
|
||||
***********************/
|
||||
@@ -199,6 +195,22 @@ class User extends BaseUser
|
||||
return null === $this->photo ? null : $this->getUploadDir() . '/' . $this->photo;
|
||||
}
|
||||
|
||||
public function getFile()
|
||||
{
|
||||
return $this->file;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set file
|
||||
*
|
||||
* @param UploadedFile $file
|
||||
*
|
||||
*/
|
||||
public function setFile(UploadedFile $file = null)
|
||||
{
|
||||
$this->file = $file;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $type
|
||||
* @return array|string
|
||||
@@ -269,7 +281,6 @@ class User extends BaseUser
|
||||
* Getters & Setters
|
||||
***********************/
|
||||
|
||||
|
||||
/**
|
||||
* Set firstname.
|
||||
*
|
||||
|
||||
@@ -13,14 +13,15 @@ namespace AppBundle\Form\Admin;
|
||||
|
||||
use AppBundle\Entity\Company;
|
||||
use Symfony\Component\Form\AbstractType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||
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\UrlType;
|
||||
use Symfony\Component\Form\FormBuilderInterface;
|
||||
use Symfony\Component\OptionsResolver\OptionsResolver;
|
||||
use Symfony\Component\Form\Extension\Core\Type\UrlType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\FileType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\CountryType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
||||
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
|
||||
|
||||
class TerritoryAdminType extends AbstractType
|
||||
{
|
||||
@@ -32,6 +33,7 @@ class TerritoryAdminType extends AbstractType
|
||||
$builder
|
||||
->add('brandName', TextType::class, array('label' => 'Nom'))
|
||||
->add('description', TextType::class, array('label' => 'profile.company.description', 'required' => false))
|
||||
->add('descriptionAdmin', TextareaType::class, array('label' => 'Description additionel réservé aux administrateur (Attention contenu affiché en front)', 'required' => false))
|
||||
->add('website', UrlType::class, array(
|
||||
'label' => 'profile.company.website',
|
||||
'required' => false,
|
||||
|
||||
@@ -14,6 +14,16 @@ class CompanyRepository extends EntityRepository
|
||||
{
|
||||
public function getCompanySortByAds()
|
||||
{
|
||||
$qb = $this
|
||||
->createQueryBuilder('c')
|
||||
->andWhere('c.type = :type')
|
||||
->setParameter(':type', "COMPANY")
|
||||
->andWhere('c.presentationVideo IS NOT NULL')
|
||||
->orderBy('c.cTime', 'DESC');
|
||||
|
||||
|
||||
$badCompany = $qb->getQuery()->getResult();
|
||||
|
||||
$qb = $this
|
||||
->createQueryBuilder('c')
|
||||
->from('AppBundle:Ad', 'a')
|
||||
@@ -21,10 +31,26 @@ class CompanyRepository extends EntityRepository
|
||||
->andWhere('a.status = :status')
|
||||
->orderBy('a.publishedAt', 'DESC')
|
||||
->setParameter(':status', "PUBLISHED");
|
||||
|
||||
$firstCompany = $qb->getQuery()->getResult();
|
||||
|
||||
return $qb
|
||||
->getQuery()
|
||||
->getResult();
|
||||
|
||||
$mergeArray = array();
|
||||
array_map(function($a, $b) use (&$mergeArray) {
|
||||
if($a){
|
||||
if(!isset($mergeArray[$a->getId()])) {
|
||||
$mergeArray[$a->getId()] = $a;
|
||||
}
|
||||
}
|
||||
if ($b) {
|
||||
if (!isset($mergeArray[$b->getId()])) {
|
||||
$mergeArray[$b->getId()] = $b;
|
||||
}
|
||||
}
|
||||
}, $firstCompany, $badCompany);
|
||||
|
||||
|
||||
return $mergeArray;
|
||||
}
|
||||
|
||||
public function getTerritorySortByAds()
|
||||
|
||||
@@ -12,4 +12,27 @@ use Doctrine\ORM\EntityRepository;
|
||||
*/
|
||||
class UserRepository extends EntityRepository
|
||||
{
|
||||
public function findByRole($role)
|
||||
{
|
||||
$qb = $this->_em->createQueryBuilder();
|
||||
$qb->select('u')
|
||||
->from($this->_entityName, 'u')
|
||||
->where('u.roles LIKE :roles')
|
||||
->setParameter('roles', '%"' . $role . '"%');
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
|
||||
public function findTalentsAndCompanies()
|
||||
{
|
||||
$qb = $this->_em->createQueryBuilder();
|
||||
$qb->select('u')
|
||||
->from($this->_entityName, 'u')
|
||||
->where('u.roles LIKE :roleT')
|
||||
->orWhere('u.roles LIKE :roleC')
|
||||
->setParameter('roleC', '%ROLE_COMPANY%')
|
||||
->setParameter('roleT', '%ROLE_TALENT%');
|
||||
|
||||
return $qb->getQuery()->getResult();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,21 +28,19 @@ class MediaManager
|
||||
$this->env = $env;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Rename video to vimeo
|
||||
*/
|
||||
|
||||
public function editName($video)
|
||||
{
|
||||
if($video){
|
||||
$response = $this->vimeo->request($video->getCdnUrl(), ['name'=>$video->getTitle()], 'PATCH');
|
||||
return array('success' => "true",'data' => $response);
|
||||
} else {
|
||||
public function editName($video)
|
||||
{
|
||||
if ($video) {
|
||||
$response = $this->vimeo->request($video->getCdnUrl(), ['name' => $video->getTitle()], 'PATCH');
|
||||
return array('success' => "true", 'data' => $response);
|
||||
} else {
|
||||
return array('success' => "false");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $entity
|
||||
@@ -50,7 +48,7 @@ class MediaManager
|
||||
*
|
||||
* Get Thumbnail of a video (Ad or Company)
|
||||
*/
|
||||
public function getThumbnails($entity)
|
||||
public function getThumbnails($entity, $force = false)
|
||||
{
|
||||
if ($entity instanceof Ad) {
|
||||
$video = $entity->getVideo();
|
||||
@@ -62,11 +60,11 @@ class MediaManager
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
if($video){
|
||||
if ($video) {
|
||||
$arrayThumb = $video->getThumbnails();
|
||||
if (empty($arrayThumb[0])) {
|
||||
if ($force == true || empty($arrayThumb[0])) {
|
||||
$response = $this->vimeo->request($video->getCdnUrl() . '/pictures', [], 'GET');
|
||||
if(!isset($response['body']['error'])){
|
||||
if (!isset($response['body']['error'])) {
|
||||
$video->setThumbnails($response['body']['data']);
|
||||
$this->em->persist($video);
|
||||
$this->em->flush();
|
||||
@@ -84,9 +82,9 @@ class MediaManager
|
||||
{
|
||||
$video = $entity;
|
||||
if (unlink($this->mediaVideoDir . $video->getOriginalUrl())) {
|
||||
if ( $this->env != "dev" ) {
|
||||
if ($this->env != "dev") {
|
||||
$response = $this->vimeo->request($video->getCdnUrl(), [], 'DELETE');
|
||||
}
|
||||
}
|
||||
$this->em->remove($video);
|
||||
$this->em->flush();
|
||||
|
||||
@@ -126,12 +124,12 @@ class MediaManager
|
||||
$metadata = array();
|
||||
//@TODO: trouver un fix pour la duration
|
||||
/*if($extension != "mkv"){
|
||||
$duration = $this->ffprobe->format($filePath)->get('duration');
|
||||
$metadata['duration'] = $duration;
|
||||
$duration = $this->ffprobe->format($filePath)->get('duration');
|
||||
$metadata['duration'] = $duration;
|
||||
}*/
|
||||
$thumbnails = array();
|
||||
//PUSH VIDEO TO Vimeo
|
||||
if ( $this->env == "dev" ) {
|
||||
//PUSH VIDEO TO Vimeo
|
||||
if ($this->env == "dev") {
|
||||
$uriVimeo = "/videos/215657518";
|
||||
$nameVimeo = "name";
|
||||
$linkVimeo = "/videos/215657518";
|
||||
@@ -143,8 +141,8 @@ class MediaManager
|
||||
$nameVimeo = $response['body']['name'];
|
||||
$linkVimeo = $response['body']['link'];
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//SAVE MEDIA
|
||||
$media->setCreator($creator);
|
||||
$media->setTitle($fileName);
|
||||
@@ -157,15 +155,15 @@ class MediaManager
|
||||
$this->em->persist($media);
|
||||
if (!is_null($entity)) {
|
||||
if ($entity instanceof Answer) {
|
||||
if ($entity->getAd() == null){
|
||||
$media->setTitle("Candidature pour : ".$entity->getCompany()->getBrandName());
|
||||
if ($entity->getAd() == null) {
|
||||
$media->setTitle("Candidature pour : " . $entity->getCompany()->getBrandName());
|
||||
} else {
|
||||
$media->setTitle("Video réponse à : ".$entity->getAd()->getTitle());
|
||||
$media->setTitle("Video réponse à : " . $entity->getAd()->getTitle());
|
||||
}
|
||||
$entity->setVideo($media);
|
||||
$this->em->persist($entity);
|
||||
} elseif ($entity instanceof Ad) {
|
||||
$media->setTitle("Video annonce de : ".$entity->getTitle());
|
||||
$media->setTitle("Video annonce de : " . $entity->getTitle());
|
||||
$entity->setVideo($media);
|
||||
$this->em->persist($entity);
|
||||
} elseif ($entity instanceof User) {
|
||||
@@ -175,7 +173,7 @@ class MediaManager
|
||||
$this->em->persist($entity);
|
||||
}
|
||||
} else {
|
||||
$media->setTitle("Vidéo ".$creator->getLastname()." ".$creator->getFirstname());
|
||||
$media->setTitle("Vidéo " . $creator->getLastname() . " " . $creator->getFirstname());
|
||||
}
|
||||
if ($creator->getCompany()->getType() == "TALENT") {
|
||||
$media->setStatus("TO_MODERATE");
|
||||
@@ -187,14 +185,14 @@ class MediaManager
|
||||
'filename' => $media->getTitle(),
|
||||
'originalFilename' => $uploadedFile->getClientOriginalName(),
|
||||
'uriVimeo' => str_replace('videos', 'video', $uriVimeo),
|
||||
'mediaId' => $media->getId()
|
||||
'mediaId' => $media->getId(),
|
||||
);
|
||||
} else {
|
||||
$message = array('success' => 500,
|
||||
'message' => "Error Upload"
|
||||
'message' => "Error Upload",
|
||||
);
|
||||
}
|
||||
|
||||
return $message;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -11543,19 +11543,32 @@ coloring of icons.
|
||||
*/
|
||||
@font-face {
|
||||
font-family: videojs-record;
|
||||
src: url("font/videojs-record.eot?#iefix") format("eot"); }
|
||||
@font-face {
|
||||
font-family: videojs-record;
|
||||
src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAARUAAoAAAAABuwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAD0AAABWOp9HUWNtYXAAAAE0AAAAOgAAAUriFxC2Z2x5ZgAAAXAAAADNAAABKHtQINdoZWFkAAACQAAAAC4AAAA2BTdHq2hoZWEAAAJwAAAAGgAAACQAYQA3aG10eAAAAowAAAAOAAAAGAEgAABsb2NhAAACnAAAAA4AAAAOARgAtG1heHAAAAKsAAAAHwAAACABEwAwbmFtZQAAAswAAAE2AAACXplCUC5wb3N0AAAEBAAAAE0AAABuZWTrn3icY2BkMGCcwMDKwMEgx6DIwMDABqXFGZgYeBiABCszA1YQkOaawuDwkfEjK4MBkMsCJhkYGEEEAMhBBW8AAAB4nGNgYGBmgGAZBkYGEHAB8hjBfBYGDSDNBqQZGZgYGD6y/v8PUvCREUTzM0DVAwEjG8OIBwBzoga8AAB4nD1P22rDMAyVUuFr8IpxPJeyMezilC3swUnWh9H//60qpa0uB0lIOhzoYLMJvuEIBeBSxiJL/sDwj2sd59gus5DD3K64yJAZ23AW1JMgchoJHad2tFeqElEi6oyUptvKPZEi4u/44JhAMUMWIba/pSZtrbd22sBbeO2d2He8Nw+lT+mUnvMz/MIbz1f5vsaQx/J4Y4yNSNppXZUxCqOVmju+2L14CQIc+Da0Ja9PfZumHxxlXVrw/V3SFzEK7ZPo3V0Nxyd6DzergxO0AAAAeJxjYGRgYADitLKumfH8Nl8ZuBkMgCIMl761aiDTDDoMekCSg4EJxAEAIUsJKgAAeJxjYGRgYDAAYhYwycCgw8DIgArYAA6OAJkAAHicYzBgYGDAggEOuAEhAAAAAAAAADIARgBSAG4AlAAAeJxjYGRgYGBjUGFgZgABJiDmAkIGhv9gPgMADLUBRAB4nH2QP2rDMBjFn/OvNIZSKO2UQVDoUmInGUPnBDpmyO7YsmNjW0ZWArlBD9IT9BAde5Ceoi+qlmSwBNLvve99n0AA7vEND+fl4c6e59XDDdU/90mPjgfkZ8dD+Jg7HtF/czzGK94d+3jAgRO8wS2dCT4c95j/dNyn/+V4QP5xPMQTfh2PMPHgeIytN3Hs48XTxzyRqminWsZKJxuZHcroyrxUW6nbXNViHswuC2tZSx0ZmYjdSbTHbGFMKlKtKrFStZFlqUSjVSFjE+yNaZZhmDo/iFWFI3IkkFAo0GIKTY6pNN0NOeNflIiou5JdtS1Z082pawj+f4BZZ8eaXNuuCIZ3wq4dTjxb9mVY0DVIqVNmFCrSyk4/p0tuRaextcLONXxzb7saLBFyp1f5wL5e/QF7nXD2AAB4nH3HMQqAMAxG4aRql/YqPVRIAzqUlN8geHsHwdE3fY8S/ZeJOPHCK2+cS7frUGvTMCpMHb2dIYjyjc8ydw9vsMBdX6sMgxA9BCcXRQAAAA==) format("woff"), url(data:application/x-font-ttf;charset=utf-8;base64,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) format("truetype");
|
||||
src: url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAUcAAsAAAAACIgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPAAAAFY6l0dLY21hcAAAAYAAAABhAAABtj269dhnbHlmAAAB5AAAASMAAAHoaKpyRmhlYWQAAAMIAAAALQAAADYLMVVqaGhlYQAAAzgAAAAYAAAAJABeADhobXR4AAADUAAAAA4AAAAcASAAAGxvY2EAAANgAAAAEAAAABABiAH+bWF4cAAAA3AAAAAfAAAAIAEUADxuYW1lAAADkAAAATYAAAJemUJQLnBvc3QAAATIAAAAUQAAAHfWeWp5eJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGTQZJzAwMrAwCDHoAgk2aC0OAMTAw8DkGBlZsAKAtJcUxgcPjJ+ZGMwAHJZwCQDAyOIAADDpwVheJztkcENwCAMAx0IeVQdpQPx6v5fJqB2whiNdEa2Ih4OgAGgk4c4YC8MmsnUMu+4Mvez48pX7E01Kb2nNu46fwyawD936jwu1FeRDbYCenuhSywv1Okaha60okB8euoTwQAAAHicRZDrTsMwDIXtXKupVFzSEgmYpnbqYOuG1DbbD8Te/7E4bgY47YmdyM5nkyKxI+2po0+iS7frfNe6Nw7NF6cTpyk04xnqfD2N52+eex9c28M5j0397kxpnIJVxhnrLLSSSBmFrzfYIjz2Rlurjed8cC8phQhe54VhT1t6AkGa+wP/EsiLz6lljsyLFC9evCDii4Yyf08DlbRBdkbM6ZdQcYsWurDmqZ7SeOUUlRG702DVWjtt8AejSpyLOG2Vwo0z3iO4sR2xSlRvK0Yt1JlPHO3K2tVKZLjtEPrrZ4ulkTPVXRnjNpJES62BCnqlD9zJbIU2/c88N3DgnQf6fOVxzWjjEZQCu4x6I+KMsONEJC6t6Ic83Dzy9e0OQvQDgKActgB4nGNgZGBgAOJYtaCqeH6brwzcDAZAEYarn3k4kGkGXSBkYOBgYAJxAOZRB0gAAAB4nGNgZGBgMGBggJO6DIwMqIAdAA42AJd4nGNgAAID7BgADrwBIQAAAAAAAABCAGAAkACqALYA9HicY2BkYGBgZzBgYGYAASYg5gJCBob/YD4DAA38AVEAeJx9kD9qwzAYxZ/zrzSGUijtlEFQ6FJiJxlD5wQ6Zsju2LJjY1tGVgK5QQ/SE/QQHXuQnqIvqpZksATS773vfZ9AAO7xDQ/n5eHOnufVww3VP/dJj44H5GfHQ/iYOx7Rf3M8xiveHft4wIETvMEtnQk+HPeY/3Tcp//leED+cTzEE34djzDx4HiMrTdx7OPF08c8kapop1rGSicbmR3K6Mq8VFup21zVYh7MLgtrWUsdGZmI3Um0x2xhTCpSrSqxUrWRZalEo1UhYxPsjWmWYZg6P4hVhSNyJJBQKNBiCk2OqTTdDTnjX5SIqLuSXbUtWdPNqWsI/n+AWWfHmlzbrgiGd8KuHU48W/ZlWNA1SKlTZhQq0spOP6dLbkWnsbXCzjV8c2+7GiwRcqdX+cC+Xv0Be51w9gAAeJx9x0sOgCAMRdE+/GCUrbCoRprIgJRUZP0OSBx6R+eSo/88HCbMWLDCYyPPPVaxsvecRAf5SXkwmJxqKd6NrR3faA310qbx5CLGRC+J7hkhAAAA) format("woff"), url(data:application/x-font-ttf;charset=utf-8;base64,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) format("truetype");
|
||||
font-weight: normal;
|
||||
font-style: normal; }
|
||||
.vjs-icon-device-perm {
|
||||
.vjs-icon-av-perm {
|
||||
font-family: videojs-record;
|
||||
font-weight: normal;
|
||||
font-style: normal; }
|
||||
|
||||
.vjs-icon-device-perm:before {
|
||||
content: '\f101'; }
|
||||
.vjs-icon-av-perm:before {
|
||||
content: "\f101"; }
|
||||
|
||||
.vjs-icon-video-perm {
|
||||
font-family: videojs-record;
|
||||
font-weight: normal;
|
||||
font-style: normal; }
|
||||
|
||||
.vjs-icon-video-perm:before {
|
||||
content: "\f102"; }
|
||||
|
||||
.vjs-icon-audio-perm {
|
||||
font-family: videojs-record;
|
||||
font-weight: normal;
|
||||
font-style: normal; }
|
||||
|
||||
.vjs-icon-audio-perm:before {
|
||||
content: "\f103"; }
|
||||
|
||||
.vjs-icon-record-start {
|
||||
font-family: videojs-record;
|
||||
@@ -11563,7 +11576,7 @@ coloring of icons.
|
||||
font-style: normal; }
|
||||
|
||||
.vjs-icon-record-start:before {
|
||||
content: '\f102'; }
|
||||
content: "\f104"; }
|
||||
|
||||
.vjs-icon-record-stop {
|
||||
font-family: videojs-record;
|
||||
@@ -11571,15 +11584,7 @@ coloring of icons.
|
||||
font-style: normal; }
|
||||
|
||||
.vjs-icon-record-stop:before {
|
||||
content: '\f103'; }
|
||||
|
||||
.vjs-icon-photo-retry {
|
||||
font-family: videojs-record;
|
||||
font-weight: normal;
|
||||
font-style: normal; }
|
||||
|
||||
.vjs-icon-photo-retry:before {
|
||||
content: '\f104'; }
|
||||
content: "\f105"; }
|
||||
|
||||
.vjs-icon-photo-camera {
|
||||
font-family: videojs-record;
|
||||
@@ -11587,7 +11592,7 @@ coloring of icons.
|
||||
font-style: normal; }
|
||||
|
||||
.vjs-icon-photo-camera:before {
|
||||
content: '\f105'; }
|
||||
content: "\f106"; }
|
||||
|
||||
/* Area containing the recorder elements.
|
||||
--------------------------------------------------------------------------------
|
||||
@@ -11608,6 +11613,34 @@ coloring of icons.
|
||||
left: 0px;
|
||||
height: 100%; }
|
||||
|
||||
/* Position fullscreen control on right side of the player.
|
||||
--------------------------------------------------------------------------------
|
||||
*/
|
||||
.video-js .vjs-control.vjs-fullscreen-control {
|
||||
position: absolute;
|
||||
right: 0; }
|
||||
|
||||
/* Ensure custom controls are always visible because
|
||||
the plugin hides and replace the video.js native mobile
|
||||
controls.
|
||||
--------------------------------------------------------------------------------
|
||||
*/
|
||||
.vjs-using-native-controls .vjs-control-bar {
|
||||
display: flex !important; }
|
||||
|
||||
/* Handle responsive / fluid view.
|
||||
--------------------------------------------------------------------------------
|
||||
*/
|
||||
.vjs-fluid wave.vjs-wavedisplay,
|
||||
.vjs-fluid .vjs-record-canvas > canvas:nth-child(1),
|
||||
.vjs-fluid .vjs-animation-display > img:nth-child(1) {
|
||||
top: 0;
|
||||
position: absolute !important;
|
||||
width: 100%;
|
||||
min-width: 100%;
|
||||
max-width: 100%;
|
||||
height: 100%; }
|
||||
|
||||
/* Device Button (large centered button at startup)
|
||||
--------------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -11620,7 +11653,7 @@ coloring of icons.
|
||||
/* Center it horizontally */
|
||||
left: 50%;
|
||||
width: 4em;
|
||||
height: 3.0em;
|
||||
height: 2.8em;
|
||||
margin-top: -1.8000000000000001em;
|
||||
margin-left: -2.1em;
|
||||
display: block;
|
||||
@@ -11649,6 +11682,11 @@ coloring of icons.
|
||||
.vjs-error .vjs-device-button {
|
||||
display: none; }
|
||||
|
||||
button.vjs-device-button.vjs-control.vjs-icon-av-perm:before,
|
||||
button.vjs-device-button.vjs-control.vjs-icon-audio-perm:before,
|
||||
button.vjs-device-button.vjs-control.vjs-icon-video-perm:before {
|
||||
font-size: 2.4em; }
|
||||
|
||||
/* Record Toggle (start/stop recording button in controlbar)
|
||||
--------------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -11662,7 +11700,14 @@ coloring of icons.
|
||||
font-size: 1.4em;
|
||||
line-height: 2.2em; }
|
||||
|
||||
/* Camera Toggle (snapshot try/retry)
|
||||
.vjs-record-button.vjs-control.vjs-icon-record-stop:before {
|
||||
font-size: 2.2em;
|
||||
line-height: 1.4em; }
|
||||
|
||||
.vjs-play-control.vjs-control {
|
||||
cursor: pointer; }
|
||||
|
||||
/* Camera Button (snapshot try/retry)
|
||||
--------------------------------------------------------------------------------
|
||||
*/
|
||||
.vjs-camera-button.vjs-control {
|
||||
@@ -11671,7 +11716,15 @@ coloring of icons.
|
||||
.vjs-error .vjs-camera-button {
|
||||
display: none; }
|
||||
|
||||
/* Recording Indicator (dot in top-right corner visible when recording)
|
||||
.vjs-camera-button.vjs-control.vjs-icon-photo-camera:before {
|
||||
font-size: 2.0em;
|
||||
line-height: 1.4em; }
|
||||
|
||||
.vjs-camera-button.vjs-control.vjs-icon-replay:before {
|
||||
font-size: 2.2em;
|
||||
line-height: 1.4em; }
|
||||
|
||||
/* Record Indicator (dot in top-right corner visible when recording)
|
||||
--------------------------------------------------------------------------------
|
||||
*/
|
||||
.vjs-record {
|
||||
@@ -11704,7 +11757,7 @@ coloring of icons.
|
||||
animation-name: pulsetext;
|
||||
animation-duration: 5s;
|
||||
animation-iteration-count: infinite;
|
||||
top: -0.3em;
|
||||
top: -0.1em;
|
||||
font-size: 0.8em;
|
||||
opacity: 1;
|
||||
transition: opacity .5s .2s; }
|
||||
@@ -15606,6 +15659,7 @@ table.highlight > tbody > tr:hover {
|
||||
#answerPage .col-content.bg-arrow {
|
||||
background: url(/img/img_popupcv/step_arrow.svg) 40px no-repeat #FFFFFF; }
|
||||
#answerPage #modal-tuto {
|
||||
width: 80%;
|
||||
min-height: 540px;
|
||||
background: #FFFFFF; }
|
||||
#answerPage #modal-tuto .col-content {
|
||||
@@ -15650,6 +15704,22 @@ table.highlight > tbody > tr:hover {
|
||||
color: #FFF;
|
||||
text-decoration: none; }
|
||||
|
||||
@media only screen and (max-width: 800px) {
|
||||
#modal-tuto {
|
||||
width: 98%; }
|
||||
#modal-tuto .modal-content {
|
||||
padding: 10px; }
|
||||
#modal-tuto .modal-content h3 {
|
||||
font-size: 1.5rem; }
|
||||
#modal-tuto .modal-content .col {
|
||||
padding: 0; }
|
||||
#modal-tuto .modal-content .owl-dots {
|
||||
display: none; }
|
||||
#modal-tuto .modal-content .carousel-fixed-item {
|
||||
margin-top: 0;
|
||||
margin-right: 0;
|
||||
font-size: 13px;
|
||||
margin-bottom: 50px; } }
|
||||
/*Pages
|
||||
---------------------------------------------------*/
|
||||
#ad_show .bg-bordered {
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 545 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 546 KiB |
@@ -16,6 +16,11 @@ function openModal(){
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;
|
||||
padding = 0;
|
||||
if(width > 800){
|
||||
var padding = 45;
|
||||
}
|
||||
$('#modal-tuto').modal({
|
||||
dismissible: false,
|
||||
ready: function(modal, trigger) {
|
||||
@@ -25,7 +30,7 @@ $(document).ready(function(){
|
||||
nav: true,
|
||||
loop: false,
|
||||
margin: 50,
|
||||
stagePadding: 45,
|
||||
stagePadding: padding,
|
||||
navRewind:false,
|
||||
navText: ['<span class="left-arrow"></span>', '<span class="right-arrow"></span>']
|
||||
});
|
||||
@@ -95,19 +100,20 @@ function eraseCookie(name) {
|
||||
|
||||
/* GESTON de la webcam */
|
||||
var elementExists = document.getElementById("myCvVideo");
|
||||
|
||||
if(document.body.contains(elementExists)){
|
||||
var player = videojs("myCvVideo",
|
||||
{
|
||||
controls: true,
|
||||
width: 320,
|
||||
height: 240,
|
||||
fluid: false,
|
||||
plugins: {
|
||||
record: {
|
||||
audio: true,
|
||||
video: true,
|
||||
maxLength: 300,
|
||||
debug: true,
|
||||
videoMimeType: 'video/mp4',
|
||||
debug: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
# www.google.com/support/webmasters/bin/answer.py?hl=en&answer=156449
|
||||
|
||||
User-agent: *
|
||||
Disallow:
|
||||
Disallow: /login/facebook.*
|
||||
Disallow: /login/linkedin.*
|
||||
Disallow: /annonce/.*/repondre/.*
|
||||
Disallow: /login/facebook*
|
||||
Disallow: /login/linkedin*
|
||||
Disallow: /annonce/*/repondre/*
|
||||
@@ -74,6 +74,7 @@
|
||||
background: url(/img/img_popupcv/step_arrow.svg) 40px no-repeat #FFFFFF;;
|
||||
}
|
||||
#modal-tuto{
|
||||
width: 80%;
|
||||
min-height: 540px;
|
||||
background: $white;
|
||||
.col-content{
|
||||
@@ -141,4 +142,28 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 800px) {
|
||||
#modal-tuto {
|
||||
width: 98%;
|
||||
.modal-content{
|
||||
h3{
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
padding:10px;
|
||||
.col{
|
||||
padding: 0;
|
||||
}
|
||||
.owl-dots{
|
||||
display: none;
|
||||
}
|
||||
.carousel-fixed-item{
|
||||
margin-top:0;
|
||||
margin-right:0;
|
||||
font-size: 13px;
|
||||
margin-bottom:50px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user