#3002 maabir pdf.rar geliştirme talebi

This commit is contained in:
Muammer Top 2021-01-07 15:05:05 +03:00
parent 4c81790ab5
commit ec008183d8
9 changed files with 165 additions and 95 deletions

View File

@ -0,0 +1,26 @@
<?php
use Anomaly\Streams\Platform\Database\Migration\Migration;
class VisiosoftModuleAdvsAddDocFilesField extends Migration
{
protected $delete = false;
protected $stream = [
'slug' => 'advs',
];
protected $fields = [
'doc_files' => [
'type' => 'visiosoft.field_type.media',
'config' => [
'folders' => ["ads_documents"],
'mode' => 'upload',
],
],
];
protected $assignments = [
'doc_files'
];
}

View File

@ -319,6 +319,7 @@ return [
'congratulations' => 'Congratulations',
'ad_desc' => 'Ad Description',
'upload_photos' => 'Upload Photos',
'upload_files' => 'Upload Files',
'additional_fields' => 'Additional Fields',
'ad_location' => 'Ad Location',

View File

@ -36,6 +36,12 @@
</div>
<!--detail-ad -->
<ul class="docs list-unstyled">
{% for doc in adv.doc_files %}
<li><a class="text-dark small" href="{{ doc.url }}"><i class="fa fa-lg fa-download small"></i> {{ doc.name }}</a></li>
{% endfor %}
</ul>
{% if setting_value('visiosoft.theme.base::ad_details_tab') %}
{% if blocks('ad-item-content-block-area') is null %}

View File

@ -178,6 +178,7 @@
<div class="row form-group images">
<div class="col-md-12">
{{ form.fields.files.input |raw }}
<input name="doc_files" value="{{ form.fields.doc_files.value.pluck('id').all()|join(',') }}" >
</div>
</div>
</div>

View File

@ -53,6 +53,7 @@ class AdvFormBuilder extends FormBuilder
'class' => 'hidden d-none mapVal'
],
'files',
'doc_files',
'popular_adv',
'adv_day',
'product_options_value'

View File

@ -1,5 +1,6 @@
<?php namespace Visiosoft\AdvsModule\Http\Controller;
use Anomaly\FilesModule\File\Contract\FileRepositoryInterface;
use Anomaly\SettingsModule\Setting\Contract\SettingRepositoryInterface;
use Anomaly\Streams\Platform\Http\Controller\PublicController;
use Anomaly\Streams\Platform\Message\MessageBag;

View File

@ -3,6 +3,7 @@ Dropzone.autoDiscover = false;
$("div#myDrop").dropzone({url: "/file/post"});
var uploaded = $('input[name="files"]').val().split(',').map(Number);
var docsUploaded = $('input[name="doc_files"]').val().split(',').map(Number);
$(function () {
@ -67,7 +68,8 @@ $(function () {
dropzone.on('success', function (file) {
var response = JSON.parse(file.xhr.response);
var mimeType = response.mime_type.split('/')
if (mimeType[0] === 'image'){
uploaded.push(response.id);
$('.media-selected-wrapper').load(
@ -84,6 +86,10 @@ $(function () {
addAppendByData(uploaded[0])
file.previewElement.remove();
}, 500);
} else {
docsUploaded.push(response.id);
$('input[name="doc_files"]').val(docsUploaded.join(','))
}
});
// When file fails to upload.

View File

@ -50,8 +50,17 @@ class UploadController extends AdminController
public function upload()
{
$doc_folder = app(FolderRepositoryInterface::class)->findBySlug('ads_documents')->id;
$mimes = explode('/', $this->request->file('upload')->getMimeType());
if ($mimes[0] == 'image'){
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($this->request->get('folder')));
} else {
$file = $this->uploader->upload($this->request->file('upload'), $this->folders->find($doc_folder));
}
if ($file) {
if ($mimes[0] == 'image'){
$settings_key = [
'image_resize_backend',
@ -138,6 +147,7 @@ class UploadController extends AdminController
}
$image->save(app_storage_path() . '/files-module/local/images/' . $fileName);
}
}
return $this->response->json($file->getAttributes());
}
@ -173,7 +183,7 @@ class UploadController extends AdminController
return response()->json(['status' => 'error']);
}
public function createFile($folder, $filename, $image)
public function createFile($folder, $filename, $image = null)
{
$this->files->create([
'folder_id' => $folder,

View File

@ -174,5 +174,23 @@ class DatabaseSeeder extends Seeder
],
]);
};
//Create Ads Documents Folder
if (!$this->folders->findBySlug('ads_documents')) {
$disk = $this->disks->findBySlug('local');
$this->folders->create([
'en' => [
'name' => 'Ads Documents',
'description' => 'A folder for Ads Documents.',
],
'slug' => 'ads_documents',
'disk' => $disk,
'allowed_types' => [
'pdf', 'doc', 'docx', 'xls', 'xlsx',
],
]);
};
}
}