Fix liaison media <-> societes
This commit is contained in:
parent
e293d437e7
commit
2c48ab009b
10 changed files with 75 additions and 47 deletions
|
|
@ -204,7 +204,7 @@ class ImportArcadiaFiles extends Command
|
|||
// ---- Suppression du fichier
|
||||
Storage::disk('arcadia')->delete($filename);
|
||||
}
|
||||
|
||||
// TODO : Import des sociétés
|
||||
$bar->advance();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ use App\Http\Traits\MediaTools;
|
|||
use App\Article;
|
||||
use App\Marque;
|
||||
use App\Media;
|
||||
use App\Dossier;
|
||||
|
||||
class ImportMedia extends Command
|
||||
{
|
||||
|
|
@ -181,7 +182,22 @@ class ImportMedia extends Command
|
|||
if($record){
|
||||
$article = Article::where('noArt', $row->noArt)->first();
|
||||
if($article){
|
||||
$record->articles()->attach($article->id);
|
||||
// attache l'article au média
|
||||
$record->articles()->syncWithoutDetaching ($article->id);
|
||||
// recherche un dossier lié à la marque de l'article
|
||||
$marque_id = $article->codMarq;
|
||||
$dossier = Dossier::whereHas("marques", function($query) use ($marque_id){
|
||||
$query->where("codMarq", $marque_id);
|
||||
})->first();
|
||||
|
||||
if($dossier){
|
||||
// attache le dossier marque au Média
|
||||
$record->dossier_id = $dossier->id;
|
||||
$record->save();
|
||||
$this->line("Liason media n°".$row->codeVisuel. " à la marque n°".$article->libMarq);
|
||||
}else{
|
||||
$this->line("pas de liaison de marque : le media n°".$row->codeVisuel. " ne peut être lié à l'article n°".$row->noArt);
|
||||
}
|
||||
}else{
|
||||
$this->line("DAM_ASSO_ARTICLE : le media n°".$row->codeVisuel. " ne peut être lié à l'article n°".$row->noArt);
|
||||
}
|
||||
|
|
@ -210,6 +226,7 @@ class ImportMedia extends Command
|
|||
foreach ($fileContent->mediaassomarque as $row) {
|
||||
$record = Media::where('arcadia_id', $row->codeVisuel)->first();
|
||||
if($record){
|
||||
// attache la marque au média
|
||||
$record->marques()->attach($row->codMarq);
|
||||
}else{
|
||||
$this->line("DAM_ASSO_MARQUE : le media n°".$row->codeVisuel. " n'existe pas");
|
||||
|
|
@ -221,6 +238,7 @@ class ImportMedia extends Command
|
|||
}
|
||||
}
|
||||
|
||||
// TODO : Import de l'association des sociétés
|
||||
|
||||
$this->line("");
|
||||
$this->info('Fin du traitement');
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ use App\Typemedia;
|
|||
use App\Langue;
|
||||
use App\Copyright;
|
||||
use App\Etiquette;
|
||||
use App\Site;
|
||||
use App\Societe;
|
||||
use App\Marque;
|
||||
use App\Dossier;
|
||||
use App\Tag;
|
||||
|
|
@ -41,7 +41,7 @@ class MediaController extends Controller
|
|||
$langues = Langue::all();
|
||||
$copyrights = Copyright::all();
|
||||
$etiquettes = Etiquette::all();
|
||||
$sites = Site::orderBy('libelle')->get();
|
||||
$societes = Societe::orderBy('libelle')->get();
|
||||
$marques = Marque::all();
|
||||
|
||||
$dossier_id = $request->get('d');
|
||||
|
|
@ -79,7 +79,7 @@ class MediaController extends Controller
|
|||
'langues'=> $langues,
|
||||
'copyrights'=> $copyrights,
|
||||
'etiquettes'=> $etiquettes,
|
||||
'sites'=> $sites,
|
||||
'societes'=> $societes,
|
||||
'marques'=> $marques,
|
||||
'currentFolder'=> $dossier_id,
|
||||
'currentSujet'=> $sujet_id,
|
||||
|
|
@ -294,7 +294,7 @@ class MediaController extends Controller
|
|||
$host = $request->getSchemeAndHttpHost();
|
||||
$response = array();
|
||||
$media_id = $request->input('media_id');
|
||||
$media = Media::where('id', $media_id)->with('sujet')->with('sites')->with('marques')->with('articles')->with('tags:libelle')->first();
|
||||
$media = Media::where('id', $media_id)->with('sujet')->with('societes')->with('marques')->with('articles')->with('tags:libelle')->first();
|
||||
if($media){
|
||||
// stock le média
|
||||
$response['data'] = $media;
|
||||
|
|
@ -388,13 +388,13 @@ class MediaController extends Controller
|
|||
}
|
||||
|
||||
|
||||
// ---- Les sites
|
||||
$media->sites()->detach();
|
||||
$sSites = $mediaUpdate->sites;
|
||||
if($sSites != ""){
|
||||
$sites = explode(",", $sSites);
|
||||
foreach($sites as $siteId){
|
||||
$media->sites()->attach($siteId);
|
||||
// ---- Les sociétés
|
||||
$media->societes()->detach();
|
||||
$sSocietes = $mediaUpdate->societes;
|
||||
if($sSocietes != ""){
|
||||
$societes = explode(",", $sSocietes);
|
||||
foreach($societes as $societeId){
|
||||
$media->societes()->attach($societeId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -93,11 +93,11 @@ class Media extends Model
|
|||
}
|
||||
|
||||
/**
|
||||
* The sites that belong to the media.
|
||||
* The societes that belong to the media.
|
||||
*/
|
||||
public function sites()
|
||||
public function societes()
|
||||
{
|
||||
return $this->belongsToMany('App\Site', 'medias_sites', 'media_id', 'site_id');
|
||||
return $this->belongsToMany('App\Societe', 'medias_societes', 'media_id', 'societe_id');
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@ class AppServiceProvider extends ServiceProvider
|
|||
*/
|
||||
public function boot()
|
||||
{
|
||||
//
|
||||
if($this->app->environment("prod")){
|
||||
\URL::forceScheme("https");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,12 +7,4 @@ use Illuminate\Database\Eloquent\Model;
|
|||
class Site extends Model
|
||||
{
|
||||
|
||||
/**
|
||||
* The medias that belong to the sites.
|
||||
*/
|
||||
public function medias()
|
||||
{
|
||||
return $this->belongsToMany('App\Media', 'medias_sites', 'site_id', 'media_id');
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
16
app/Societe.php
Normal file
16
app/Societe.php
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?php
|
||||
|
||||
namespace App;
|
||||
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Societe extends Model
|
||||
{
|
||||
/**
|
||||
* The medias that belong to the societes.
|
||||
*/
|
||||
public function medias()
|
||||
{
|
||||
return $this->belongsToMany('App\Media', 'medias_societes', 'societe_id', 'media_id');
|
||||
}
|
||||
}
|
||||
16
public/js/app.js
vendored
16
public/js/app.js
vendored
|
|
@ -12106,13 +12106,13 @@ $(document).ready(function () {
|
|||
$.each(result.data.marques, function (index, marque) {
|
||||
$(".tab_edit .selector_marques .selector_values").append('<li data-value="' + marque.codMarq + '" >' + marque.libMarq + '</li>');
|
||||
});
|
||||
initSelector(".selector_marques"); // site lié
|
||||
initSelector(".selector_marques"); // societés liées
|
||||
|
||||
$(".tab_edit .selector_sites .selector_values").html('');
|
||||
$.each(result.data.sites, function (index, site) {
|
||||
$(".tab_edit .selector_sites .selector_values").append('<li data-value="' + site.id + '" >' + site.libelle + '</li>');
|
||||
$(".tab_edit .selector_societes .selector_values").html('');
|
||||
$.each(result.data.societes, function (index, societe) {
|
||||
$(".tab_edit .selector_societes .selector_values").append('<li data-value="' + societe.id + '" >' + societe.libelle + '</li>');
|
||||
});
|
||||
initSelector(".selector_sites"); // tags
|
||||
initSelector(".selector_societes"); // tags
|
||||
|
||||
if (result.tags) {
|
||||
$('#tag-editor').tagEditor('addTag', result.tags);
|
||||
|
|
@ -12133,7 +12133,7 @@ $(document).ready(function () {
|
|||
$(".tab_edit .arcadia_fields").show();
|
||||
}
|
||||
|
||||
$(".tab_edit .article_form, .tab_edit .marque_form, .tab_edit .site_form").hide();
|
||||
$(".tab_edit .article_form, .tab_edit .marque_form, .tab_edit .societe_form").hide();
|
||||
|
||||
switch (result.data.sujet_id) {
|
||||
case 1:
|
||||
|
|
@ -12148,7 +12148,7 @@ $(document).ready(function () {
|
|||
|
||||
case 4:
|
||||
// Sociétés
|
||||
$(".tab_edit .site_form").show();
|
||||
$(".tab_edit .societe_form").show();
|
||||
break;
|
||||
|
||||
default:
|
||||
|
|
@ -12505,7 +12505,7 @@ $(document).ready(function () {
|
|||
copyright_id: $(".tab_edit #copyrights").val(),
|
||||
etiquette_id: $(".tab_edit #etiquettes").val(),
|
||||
tags: $('#tag-editor').tagEditor('getTags')[0].tags,
|
||||
sites: $(".tab_edit .selector_sites .selector_dataValues").val(),
|
||||
societes: $(".tab_edit .selector_societes .selector_dataValues").val(),
|
||||
marques: $(".tab_edit .selector_marques .selector_dataValues").val(),
|
||||
articles: $(".tab_edit #articles").val(),
|
||||
published_at: $(".tab_edit #published_at").val()
|
||||
|
|
|
|||
16
resources/js/media.js
vendored
16
resources/js/media.js
vendored
|
|
@ -765,12 +765,12 @@ $(document).ready(function() {
|
|||
});
|
||||
initSelector(".selector_marques");
|
||||
|
||||
// site lié
|
||||
$(".tab_edit .selector_sites .selector_values").html('');
|
||||
$.each(result.data.sites, function (index, site) {
|
||||
$(".tab_edit .selector_sites .selector_values").append('<li data-value="'+site.id+'" >'+site.libelle+'</li>');
|
||||
// societés liées
|
||||
$(".tab_edit .selector_societes .selector_values").html('');
|
||||
$.each(result.data.societes, function (index, societe) {
|
||||
$(".tab_edit .selector_societes .selector_values").append('<li data-value="'+societe.id+'" >'+societe.libelle+'</li>');
|
||||
});
|
||||
initSelector(".selector_sites");
|
||||
initSelector(".selector_societes");
|
||||
|
||||
// tags
|
||||
if(result.tags){
|
||||
|
|
@ -791,7 +791,7 @@ $(document).ready(function() {
|
|||
}else{
|
||||
$(".tab_edit .arcadia_fields").show();
|
||||
}
|
||||
$(".tab_edit .article_form, .tab_edit .marque_form, .tab_edit .site_form").hide();
|
||||
$(".tab_edit .article_form, .tab_edit .marque_form, .tab_edit .societe_form").hide();
|
||||
switch (result.data.sujet_id) {
|
||||
case 1: // Visuel Article
|
||||
$(".tab_edit .article_form").show();
|
||||
|
|
@ -800,7 +800,7 @@ $(document).ready(function() {
|
|||
$(".tab_edit .marque_form").show();
|
||||
break;
|
||||
case 4: // Sociétés
|
||||
$(".tab_edit .site_form").show();
|
||||
$(".tab_edit .societe_form").show();
|
||||
break;
|
||||
default:
|
||||
}
|
||||
|
|
@ -1123,7 +1123,7 @@ $(document).ready(function() {
|
|||
copyright_id : $(".tab_edit #copyrights").val(),
|
||||
etiquette_id : $(".tab_edit #etiquettes").val(),
|
||||
tags : $('#tag-editor').tagEditor('getTags')[0].tags,
|
||||
sites : $(".tab_edit .selector_sites .selector_dataValues").val(),
|
||||
societes : $(".tab_edit .selector_societes .selector_dataValues").val(),
|
||||
marques : $(".tab_edit .selector_marques .selector_dataValues").val(),
|
||||
articles : $(".tab_edit #articles").val(),
|
||||
published_at : $(".tab_edit #published_at").val(),
|
||||
|
|
|
|||
|
|
@ -97,19 +97,19 @@
|
|||
</div>
|
||||
<div class="wrapper arcadia_fields">
|
||||
<h3>Informations liées au sujet</h3>
|
||||
<div class="row site_form dataform">
|
||||
<label for="site">Site</label>
|
||||
<div class="selector_form selector_sites">
|
||||
<div class="row societe_form dataform">
|
||||
<label for="societe">Société</label>
|
||||
<div class="selector_form selector_societes">
|
||||
<input type="text" class="selector_filter" name="search" value="" placeholder="Rechercher..." autocomplete="off">
|
||||
<div class="selector_list">
|
||||
<ul class="selector_choices" >
|
||||
@foreach ($sites as $site)
|
||||
<li data-value="{{$site->id}}" >{{$site->libelle}}</li>
|
||||
@foreach ($societes as $societe)
|
||||
<li data-value="{{$societe->id}}" >{{$societe->libelle}}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
<ul class="selector_values" >
|
||||
</ul>
|
||||
<input class="selector_dataValues" type="hidden" name="marques" value="">
|
||||
<input class="selector_dataValues" type="hidden" name="societes" value="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue