refactor: replace custom CRM with Monica fork
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
Some checks failed
Build & Push Monica Image to Gitea Registry / build-and-push (push) Failing after 9s
This commit is contained in:
59
resources/views/settings/imports/blank.blade.php
Normal file
59
resources/views/settings/imports/blank.blade.php
Normal file
@@ -0,0 +1,59 @@
|
||||
@extends('layouts.skeleton')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="settings">
|
||||
|
||||
{{-- Breadcrumb --}}
|
||||
<div class="breadcrumb">
|
||||
<div class="{{ Auth::user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<ul class="horizontal">
|
||||
<li>
|
||||
<a href="{{ route('dashboard.index') }}">{{ trans('app.breadcrumb_dashboard') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('settings.index') }}">{{ trans('app.breadcrumb_settings') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
{{ trans('app.breadcrumb_settings_import') }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="{{ Auth::user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
|
||||
@include('settings._sidebar')
|
||||
|
||||
<div class="col-12 col-sm-9 blank-screen">
|
||||
|
||||
<div class="br3 ba b--gray-monica bg-white mb4">
|
||||
<div class="pa3 bb b--gray-monica">
|
||||
|
||||
<img src="img/settings/imports/import.svg">
|
||||
|
||||
<h2>{{ trans('settings.import_blank_title') }}</h2>
|
||||
|
||||
<h3>{{ trans('settings.import_blank_question') }}</h3>
|
||||
|
||||
<p>{{ trans('settings.import_blank_description') }}</p>
|
||||
|
||||
<p class="cta"><a href="{{ route('settings.upload') }}" class="btn">{{ trans('settings.import_blank_cta') }}</a></p>
|
||||
|
||||
@if (config('monica.requires_subscription') && $accountHasLimitations)
|
||||
<p class="requires-subscription">{{ trans('settings.import_need_subscription') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
83
resources/views/settings/imports/index.blade.php
Normal file
83
resources/views/settings/imports/index.blade.php
Normal file
@@ -0,0 +1,83 @@
|
||||
@extends('layouts.skeleton')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="settings import">
|
||||
|
||||
{{-- Breadcrumb --}}
|
||||
<div class="breadcrumb">
|
||||
<div class="{{ Auth::user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<ul class="horizontal">
|
||||
<li>
|
||||
<a href="{{ route('dashboard.index') }}">{{ trans('app.breadcrumb_dashboard') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('settings.index') }}">{{ trans('app.breadcrumb_settings') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
{{ trans('app.breadcrumb_settings_import') }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="{{ Auth::user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
|
||||
@include('settings._sidebar')
|
||||
|
||||
<div class="col-12 col-sm-9">
|
||||
|
||||
<h3 class="with-actions">
|
||||
{{ trans('settings.import_title') }}
|
||||
<a href="{{ route('settings.upload') }}" class="btn">{{ trans('settings.import_cta') }}</a>
|
||||
</h3>
|
||||
|
||||
<p>{{ trans('settings.import_stat', ['number' => auth()->user()->account->importjobs->count()]) }}</p>
|
||||
|
||||
<ul class="table">
|
||||
@foreach (auth()->user()->account->importjobs as $importJob)
|
||||
<li class="table-row">
|
||||
<div class="table-cell">
|
||||
@if (! is_null($importJob->ended_at))
|
||||
@if ($importJob->failed)
|
||||
<i class="fa fa-exclamation-triangle danger"></i>
|
||||
@elseif ($importJob->contacts_found != $importJob->contacts_imported)
|
||||
<i class="fa fa-check-circle warning"></i>
|
||||
@else
|
||||
<i class="fa fa-check-circle success"></i>
|
||||
@endif
|
||||
@else
|
||||
<i class="fa fa-refresh"></i>
|
||||
@endif
|
||||
<span class="date">{{ \App\Helpers\DateHelper::getShortDateWithTime($importJob->created_at) }}</span>
|
||||
</div>
|
||||
<div class="table-cell">
|
||||
@if (is_null($importJob->ended_at))
|
||||
{{ trans('settings.import_in_progress') }}
|
||||
@endif
|
||||
@if($importJob->failed_reason)
|
||||
{{ $importJob->failed_reason }}
|
||||
@elseif (! is_null($importJob->ended_at))
|
||||
{{ trans_choice('settings.import_result_stat', $importJob->contacts_found, ['total_contacts' => $importJob->contacts_found, 'total_imported' => $importJob->contacts_imported, 'total_skipped' => $importJob->contacts_skipped]) }}
|
||||
@endif
|
||||
</div>
|
||||
<div class="table-cell">
|
||||
@if (! is_null($importJob->ended_at))
|
||||
<a href="{{ route('settings.report', $importJob) }}">{{ trans('settings.import_view_report') }}</a>
|
||||
@endif
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
80
resources/views/settings/imports/report.blade.php
Normal file
80
resources/views/settings/imports/report.blade.php
Normal file
@@ -0,0 +1,80 @@
|
||||
@extends('layouts.skeleton')
|
||||
|
||||
@section('content')
|
||||
<div class="settings">
|
||||
|
||||
{{-- Breadcrumb --}}
|
||||
<div class="breadcrumb">
|
||||
<div class="{{ Auth::user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<ul class="horizontal">
|
||||
<li>
|
||||
<a href="{{ route('dashboard.index') }}">{{ trans('app.breadcrumb_dashboard') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('settings.index') }}">{{ trans('app.breadcrumb_settings') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('settings.import') }}">{{ trans('app.breadcrumb_settings_import') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
{{ trans('app.breadcrumb_settings_import_report') }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Page content -->
|
||||
<div class="main-content central-form report">
|
||||
<div class="{{ Auth::user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
|
||||
<h2>{{ trans('settings.import_report_title') }}</h2>
|
||||
|
||||
<ul class="report-summary">
|
||||
<li>{{ trans('settings.import_report_date') }}: <span>{{ \App\Helpers\DateHelper::getShortDate($importJob->created_at) }}</span></li>
|
||||
<li>{{ trans('settings.import_report_type') }}: <span>{{ $importJob->type }}</span></li>
|
||||
<li>{{ trans('settings.import_report_number_contacts') }}: <span>{{ $importJob->contacts_found }}</span></li>
|
||||
<li>{{ trans('settings.import_report_number_contacts_imported') }}: <span>{{ $importJob->contacts_imported }}</span></li>
|
||||
<li>{{ trans('settings.import_report_number_contacts_skipped') }}: <span>{{ $importJob->contacts_skipped }}</span></li>
|
||||
</ul>
|
||||
|
||||
<ul class="table">
|
||||
|
||||
@foreach ($importJob->importJobReports as $importJobReport)
|
||||
<li class="table-row">
|
||||
<div class="table-cell status">
|
||||
@if ($importJobReport->skipped == 0)
|
||||
<span class="badge badge-success">{{ trans('settings.import_report_status_imported') }}</span>
|
||||
@else
|
||||
<span class="badge badge-danger">{{ trans('settings.import_report_status_skipped') }}</span>
|
||||
@endif
|
||||
</div>
|
||||
<div class="table-cell">
|
||||
{{ $importJobReport->contact_information }}
|
||||
</div>
|
||||
<div class="table-cell reason">
|
||||
@if (! is_null($importJobReport->skip_reason))
|
||||
{{--
|
||||
settings.import_vcard_contact_exist
|
||||
settings.import_vcard_contact_no_firstname
|
||||
--}}
|
||||
{{ trans('settings.'.$importJobReport->skip_reason) }}
|
||||
@endif
|
||||
</div>
|
||||
</li>
|
||||
@endforeach
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@endsection
|
||||
89
resources/views/settings/imports/upload.blade.php
Normal file
89
resources/views/settings/imports/upload.blade.php
Normal file
@@ -0,0 +1,89 @@
|
||||
@extends('layouts.skeleton')
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="settings upload">
|
||||
|
||||
{{-- Breadcrumb --}}
|
||||
<div class="breadcrumb">
|
||||
<div class="{{ Auth::user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<ul class="horizontal">
|
||||
<li>
|
||||
<a href="{{ route('dashboard.index') }}">{{ trans('app.breadcrumb_dashboard') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('settings.index') }}">{{ trans('app.breadcrumb_settings') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="{{ route('settings.import') }}">{{ trans('app.breadcrumb_settings_import') }}</a>
|
||||
</li>
|
||||
<li>
|
||||
{{ trans('app.breadcrumb_settings_import_upload') }}
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="main-content central-form">
|
||||
<div class="{{ auth()->user()->getFluidLayout() }}">
|
||||
<div class="row">
|
||||
<div class="col-12 col-sm-6 offset-sm-3 offset-sm-3-right">
|
||||
|
||||
<div class="br3 ba b--gray-monica bg-white mb4">
|
||||
<div class="pa3 bb b--gray-monica">
|
||||
<h2>{{ trans('settings.import_upload_title') }}</h2>
|
||||
|
||||
<div class="warning-zone">
|
||||
<p>{{ trans('settings.import_upload_rules_desc') }}</p>
|
||||
<ul>
|
||||
<li>{!! trans('settings.import_upload_rule_format') !!}</li>
|
||||
<li>{{ trans('settings.import_upload_rule_vcard') }}</li>
|
||||
<li>{!! trans('settings.import_upload_rule_instructions', [
|
||||
'url1' => 'http://osxdaily.com/2015/07/14/export-contacts-mac-os-x/',
|
||||
'url2' => 'http://www.akruto.com/backup-phone-contacts-calendar/how-to-export-google-contacts-to-csv-or-vcard/'
|
||||
]) !!}</li>
|
||||
<li>{{ trans('settings.import_upload_rule_multiple') }}</li>
|
||||
<li>{{ trans('settings.import_upload_rule_limit') }}</li>
|
||||
<li>{{ trans('settings.import_upload_rule_time') }}</li>
|
||||
<li>{{ trans('settings.import_upload_rule_cant_revert') }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@include('partials.errors')
|
||||
|
||||
<form action="{{ route('settings.storeImport') }}" method="POST" enctype="multipart/form-data">
|
||||
@csrf
|
||||
|
||||
<div class="form-group">
|
||||
<label for="vcard">{!! trans('settings.import_upload_form_file') !!}</label>
|
||||
<input type="file" class="form-control-file" name="vcard" id="vcard">
|
||||
<small id="fileHelp" class="form-text text-muted">{{ trans('people.information_edit_max_size', ['size' => config('monica.max_upload_size')]) }}</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="behaviour">{{ trans('settings.import_upload_behaviour') }}</label>
|
||||
<select class="form-control" name="behaviour" id="behaviour">
|
||||
<option value="{{ \App\Services\VCard\ImportVCard::BEHAVIOUR_ADD }}" selected>{{ trans('settings.import_upload_behaviour_add') }}</option>
|
||||
<option value="{{ \App\Services\VCard\ImportVCard::BEHAVIOUR_REPLACE }}">{{ trans('settings.import_upload_behaviour_replace') }}</option>
|
||||
</select>
|
||||
<small id="behaviourHelp" class="form-text text-muted">{{ trans('settings.import_upload_behaviour_help') }}</small>
|
||||
</div>
|
||||
|
||||
<div class="form-group actions">
|
||||
<button id="upload" type="submit" class="btn btn-primary">{{ trans('app.upload') }}</button>
|
||||
<a href="{{ route('settings.import') }}" class="btn btn-secondary">{{ trans('app.cancel') }}</a>
|
||||
</div> <!-- .form-group -->
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
Reference in New Issue
Block a user