Merge branch 'trunk'
This commit is contained in:
commit
05e1d60159
10 changed files with 104 additions and 28 deletions
54
app/Console/Commands/ResendArcadiaLinkMedias.php
Normal file
54
app/Console/Commands/ResendArcadiaLinkMedias.php
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
<?php
|
||||
|
||||
namespace App\Console\Commands;
|
||||
|
||||
use App\Lib\ArcadiaLinkUtilities;
|
||||
use App\Models\ArcadiaLink;
|
||||
use App\Models\Media;
|
||||
use Illuminate\Console\Command;
|
||||
|
||||
class ResendArcadiaLinkMedias extends Command
|
||||
{
|
||||
/**
|
||||
* The name and signature of the console command.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $signature = 'medias:resend-aracadia-links';
|
||||
|
||||
/**
|
||||
* The console command description.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $description = 'Resend files to Arcadia after Arcadia Link fix';
|
||||
|
||||
/**
|
||||
* Execute the console command.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function handle()
|
||||
{
|
||||
// FIXME : Variabiliser la date
|
||||
//$al = ArcadiaLink::where('created_at', '>=', '2025-10-23')->get();
|
||||
|
||||
foreach ($al as $error)
|
||||
{
|
||||
$media = Media::withTrashed()->find($error->media_id);
|
||||
|
||||
if ($error->arcadia_id === 0) {
|
||||
|
||||
ArcadiaLinkUtilities::create($media);
|
||||
} else {
|
||||
if (is_null($media->deleted_at)) {
|
||||
ArcadiaLinkUtilities::update($media);
|
||||
} else {
|
||||
ArcadiaLinkUtilities::delete($media);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return Command::SUCCESS;
|
||||
}
|
||||
}
|
||||
|
|
@ -659,6 +659,12 @@ class MediaController extends Controller
|
|||
]);
|
||||
}
|
||||
|
||||
if ($media->statut === MediaStatut::brouillon) {
|
||||
throw ValidationException::withMessages([
|
||||
'media' => trans('Ce média n\'est pas publié. Veuillez sauvegarder pour enregistrer le statut.')
|
||||
]);
|
||||
}
|
||||
|
||||
MediaLinkWithArcadia::dispatch($user, $media);
|
||||
|
||||
return response()->json(true);
|
||||
|
|
|
|||
|
|
@ -214,7 +214,7 @@ class UploadController extends Controller
|
|||
'File guessed extensions :guessedExts does not match file name extension :extension',
|
||||
[
|
||||
'guessedExt' => $guessedExts,
|
||||
'extension' => $mediaExtension,
|
||||
'extension' => $mediaExtension->value,
|
||||
]
|
||||
)
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -190,10 +190,14 @@ class UserController extends Controller
|
|||
$marques = Marque::orderBy('libMarq', 'asc')->get();
|
||||
$userSujets = $user->sujets;
|
||||
$sujets = Sujet::where('sujet_dam', true)->orderBy('libelle', 'asc')->get();
|
||||
$users = User::select(['id', 'email'])->whereIn('role', [
|
||||
config('roles.const.ADMIN'), config('roles.const.CONTRIBUTEUR'),
|
||||
config('roles.const.REDACTEUR')
|
||||
])->where('id', '!=', $user->id)->get();
|
||||
$users = User::select(['id', 'email'])
|
||||
->whereIn('role', [
|
||||
config('roles.const.ADMIN'), config('roles.const.CONTRIBUTEUR'),
|
||||
config('roles.const.REDACTEUR')
|
||||
])
|
||||
->where('id', '!=', $user->id)
|
||||
->orderBy('email')
|
||||
->get();
|
||||
return view('users.edit')->with([
|
||||
'user' => $user, 'roles' => $roles, 'users' => $users,
|
||||
'userMarques' => $userMarques, 'marques' => $marques,
|
||||
|
|
|
|||
|
|
@ -132,7 +132,7 @@ class ArcadiaLinkUtilities
|
|||
$storage->path($filename),
|
||||
\ZipArchive::CREATE | \ZipArchive::OVERWRITE
|
||||
);
|
||||
$success = $zip->addFromString($xml, 'media.xml') && $success;
|
||||
$success = $zip->addFromString('media.xml', $xml) && $success;
|
||||
$success = $zip->addFile($media->full_path, $media->basename) && $success;
|
||||
$success = $zip->close() && $success;
|
||||
unset($zip);
|
||||
|
|
@ -245,7 +245,7 @@ class ArcadiaLinkUtilities
|
|||
->appendChild($dom->createCDATASection($formatModel['hauteur']));
|
||||
$format->appendChild($dom->createElement('lien'))
|
||||
->appendChild($dom->createCDATASection(\sprintf(
|
||||
"%s/{$media->folder}{$media->uid}_%s.{$media->extension->value}",
|
||||
"%s/{$media->folder}/{$media->uid}_%s.{$media->extension->value}",
|
||||
config('app.url'),
|
||||
$formatModel['libelle']
|
||||
)));
|
||||
|
|
|
|||
|
|
@ -267,8 +267,6 @@ class Media extends Model
|
|||
|
||||
/** @throws \RuntimeException */
|
||||
$model->removeFromElasticSearch();
|
||||
|
||||
$model->deleteFilesOnAllPath();
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class AppServiceProvider extends ServiceProvider
|
|||
if (
|
||||
in_array(config('app.env'), ['local', 'testing']) && config('app.bypassldap') && !app()->runningInConsole()
|
||||
) {
|
||||
Auth::loginUsingId(1);
|
||||
Auth::loginUsingId(24);
|
||||
}
|
||||
|
||||
// !!! Fuc**** Lab LDC exception OMG !!!
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- < XSD deviné, basé sur la BDD et cette seule affirmation "les 3 champs sont obligatoires" @author Jérémy Munsch jeremy.munsch@ldc.fr > -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
<xs:element name="MEDIA_VISUEL">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="codeArcadia" type="_positive_unsigned_integer_without_leading_zeros" />
|
||||
<xs:element name="code_DAM" type="_positive_unsigned_integer_without_leading_zeros"/>
|
||||
<xs:element name="version" type="_positive_unsigned_integer_without_leading_zeros"/>
|
||||
<xs:element name="version" minOccurs="1" nillable="true" >
|
||||
<xs:simpleType>
|
||||
<xs:union memberTypes="_positive_unsigned_integer_without_leading_zeros xs:string"/>
|
||||
</xs:simpleType>
|
||||
</xs:element>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
|
@ -16,5 +18,4 @@
|
|||
<xs:pattern value="[123456789]\d*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
</xs:schema>
|
||||
20
resources/documents/arcadia/incoming_medias.xsd.ok_keep
Normal file
20
resources/documents/arcadia/incoming_medias.xsd.ok_keep
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- < XSD deviné, basé sur la BDD et cette seule affirmation "les 3 champs sont obligatoires" @author Jérémy Munsch jeremy.munsch@ldc.fr > -->
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
|
||||
<xs:element name="MEDIA_VISUEL">
|
||||
<xs:complexType>
|
||||
<xs:sequence>
|
||||
<xs:element name="codeArcadia" type="_positive_unsigned_integer_without_leading_zeros" />
|
||||
<xs:element name="code_DAM" type="_positive_unsigned_integer_without_leading_zeros"/>
|
||||
<xs:element name="version" type="_positive_unsigned_integer_without_leading_zeros"/>
|
||||
</xs:sequence>
|
||||
</xs:complexType>
|
||||
</xs:element>
|
||||
|
||||
<xs:simpleType name="_positive_unsigned_integer_without_leading_zeros">
|
||||
<xs:restriction base="xs:positiveInteger">
|
||||
<xs:pattern value="[123456789]\d*"/>
|
||||
</xs:restriction>
|
||||
</xs:simpleType>
|
||||
|
||||
</xs:schema>
|
||||
|
|
@ -73,7 +73,7 @@
|
|||
required
|
||||
v-model="oMedia.type_vue_id"
|
||||
:disabled="oMedia.isLocked || oMedia.arcadia_id !== null"
|
||||
@change="updateVariantes"
|
||||
@change="oMedia.variante_id = null"
|
||||
>
|
||||
<option :value="null" selected disabled>Sélectionnez un type de vue</option>
|
||||
<option v-for="item in storeTypesvue" :value="item.codeTypevue">
|
||||
|
|
@ -394,11 +394,9 @@ export default {
|
|||
storeRole() {
|
||||
return this.$store.state.role;
|
||||
},
|
||||
},
|
||||
mounted() {
|
||||
this.$nextTick(() => {
|
||||
this.availableVariantes = this.storeTypesvariante;
|
||||
})
|
||||
availableVariantes() {
|
||||
return this.storeTypesvariante.filter(e => e.typevue_id === this.oMedia.type_vue_id);
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
marques() {
|
||||
|
|
@ -428,7 +426,6 @@ export default {
|
|||
}
|
||||
},
|
||||
searchMarques() {
|
||||
console.log("search");
|
||||
this.refreshMarques();
|
||||
},
|
||||
searchSocietes() {
|
||||
|
|
@ -444,14 +441,9 @@ export default {
|
|||
selectedSocietes: [],
|
||||
searchMarques: "",
|
||||
searchSocietes: "",
|
||||
availableVariantes: [],
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
updateVariantes(evt) {
|
||||
this.oMedia.variante_id = null;
|
||||
this.availableVariantes = this.storeTypesvariante.filter(e => e.typevue_id === this.oMedia.type_vue_id);
|
||||
},
|
||||
ArcadiaLink() {
|
||||
if (this.oMedia.isDefault) {
|
||||
$.fancyMessage({
|
||||
|
|
@ -555,9 +547,10 @@ export default {
|
|||
__DAM.methods.sessionTimedOut();
|
||||
return;
|
||||
}
|
||||
const errorMessage = error.response.data.message ?? "Erreur lors de l'opération, merci d'actualiser la page.";
|
||||
$.fancyMessage({
|
||||
title: "Lier un média à Arcadia",
|
||||
message: "Erreur lors de l'opération, merci d'actualiser la page.",
|
||||
message: errorMessage,
|
||||
type: "error",
|
||||
});
|
||||
console.error(error);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue