diff --git a/app/Http/Controllers/Api/CountryController.php b/app/Http/Controllers/Api/CountryController.php index e5dff8f7..3e6c5081 100644 --- a/app/Http/Controllers/Api/CountryController.php +++ b/app/Http/Controllers/Api/CountryController.php @@ -11,36 +11,37 @@ class CountryController extends Controller { /** * Display a listing of the resource. - * * @return \Illuminate\Http\Response */ public function index(Request $request) { return Country::query() - ->select('id', 'name', 'code') - ->orderBy('name') - ->when( - $request->search, - fn (Builder $query) => $query - ->where('name', 'ilike', "%{$request->search}%") - ->orWhere('code', 'ilike', "%{$request->search}%") - ) - ->when( - $request->exists('selected'), - fn (Builder $query) => $query->whereIn('code', $request->input('selected', [])), - fn (Builder $query) => $query->limit(10) - ) - ->get() - ->map(function (Country $country) { - $country->flag = asset('vendor/blade-country-flags/4x3-'.$country->code.'.svg'); + ->select('id', 'name', 'code') + ->orderBy('name') + ->when( + $request->search, + fn(Builder $query) => $query + ->where('name', 'ilike', "%{$request->search}%") + ->orWhere('code', 'ilike', "%{$request->search}%") + ) + ->when( + $request->exists('selected'), + fn(Builder $query) => $query + ->whereIn('code', $request->input('selected', [])) + ->orWhereIn('id', + $request->input('selected', [])), + fn(Builder $query) => $query->limit(10) + ) + ->get() + ->map(function (Country $country) { + $country->flag = asset('vendor/blade-country-flags/4x3-'.$country->code.'.svg'); - return $country; - }); + return $country; + }); } /** * Store a newly created resource in storage. - * * @return \Illuminate\Http\Response */ public function store(Request $request) @@ -50,7 +51,6 @@ class CountryController extends Controller /** * Display the specified resource. - * * @return \Illuminate\Http\Response */ public function show(Country $country) @@ -60,7 +60,6 @@ class CountryController extends Controller /** * Update the specified resource in storage. - * * @return \Illuminate\Http\Response */ public function update(Request $request, Country $country) @@ -70,7 +69,6 @@ class CountryController extends Controller /** * Remove the specified resource from storage. - * * @return \Illuminate\Http\Response */ public function destroy(Country $country) diff --git a/app/Http/Livewire/BookCase/CityTable.php b/app/Http/Livewire/BookCase/CityTable.php index 8106f8ce..b07c4204 100644 --- a/app/Http/Livewire/BookCase/CityTable.php +++ b/app/Http/Livewire/BookCase/CityTable.php @@ -10,6 +10,14 @@ class CityTable extends Component { public Country $country; + public bool $manage = false; + + protected $queryString = [ + 'manage' => [ + 'except' => false, + ], + ]; + public function render() { return view('livewire.book-case.city-table')->layout('layouts.app', [ diff --git a/app/Http/Livewire/School/VenueTable.php b/app/Http/Livewire/School/VenueTable.php index 8e8f09e4..b98ba129 100644 --- a/app/Http/Livewire/School/VenueTable.php +++ b/app/Http/Livewire/School/VenueTable.php @@ -10,6 +10,10 @@ class VenueTable extends Component { public Country $country; + public bool $manage = false; + + protected $queryString = ['manage' => ['except' => false]]; + public function render() { return view('livewire.school.venue-table')->layout('layouts.app', [ diff --git a/app/Http/Livewire/Tables/CityTable.php b/app/Http/Livewire/Tables/CityTable.php index 6b00ba11..f7d6dd43 100644 --- a/app/Http/Livewire/Tables/CityTable.php +++ b/app/Http/Livewire/Tables/CityTable.php @@ -17,12 +17,14 @@ class CityTable extends DataTableComponent public string $type; + public bool $manage = false; + public string $tableName = 'cities'; public function configure(): void { $this->setPrimaryKey('id') - ->setAdditionalSelects(['id']) + ->setAdditionalSelects(['cities.id', 'cities.created_by']) ->setThAttributes(function (Column $column) { return [ 'class' => 'px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider dark:bg-gray-800 dark:text-gray-400', @@ -74,6 +76,7 @@ class CityTable extends DataTableComponent fn ($row, Column $column) => view('columns.cities.action') ->withRow($row) ->withType($this->type) + ->withManage($this->manage) ), ]) ->toArray(); diff --git a/app/Http/Livewire/Tables/VenueTable.php b/app/Http/Livewire/Tables/VenueTable.php index 7061b4af..a9a7f599 100644 --- a/app/Http/Livewire/Tables/VenueTable.php +++ b/app/Http/Livewire/Tables/VenueTable.php @@ -12,6 +12,8 @@ class VenueTable extends DataTableComponent { public string $country; + public bool $manage = false; + public string $tableName = 'venues'; public function configure(): void @@ -66,7 +68,7 @@ class VenueTable extends DataTableComponent ->collapseOnMobile(), Column::make('') ->label( - fn ($row, Column $column) => view('columns.venues.action')->withRow($row) + fn ($row, Column $column) => view('columns.venues.action')->withRow($row)->withManage($this->manage) ), ]; } diff --git a/app/Http/Livewire/Venue/Form/VenueForm.php b/app/Http/Livewire/Venue/Form/VenueForm.php index 1d8b7397..f6929ce2 100644 --- a/app/Http/Livewire/Venue/Form/VenueForm.php +++ b/app/Http/Livewire/Venue/Form/VenueForm.php @@ -6,6 +6,7 @@ use App\Models\Venue; use Illuminate\Validation\Rule; use Livewire\Component; use Livewire\WithFileUploads; +use Spatie\MediaLibrary\MediaCollections\Models\Media; use WireUi\Traits\Actions; class VenueForm extends Component @@ -23,6 +24,8 @@ class VenueForm extends Component protected $queryString = ['fromUrl' => ['except' => '']]; + protected $listeners = ['refresh' => '$refresh']; + public function rules() { return [ @@ -49,6 +52,16 @@ class VenueForm extends Component } } + public function deleteMedia($id) + { + Media::query() + ->find($id) + ->delete(); + $this->notification() + ->success(__('Image deleted!')); + $this->emit('refresh'); + } + public function submit() { $this->validate(); diff --git a/resources/lang/de.json b/resources/lang/de.json index 7b16bdb8..b800eca3 100644 --- a/resources/lang/de.json +++ b/resources/lang/de.json @@ -787,5 +787,10 @@ "Manage content creators": "Verwalte Content Creators", "Lecturers\/Content Creators": "Dozenten\/Content Creators", "Manage lecturers": "Verwalte Dozenten", - "Settings": "Einstellungen" + "Settings": "Einstellungen", + "Are you sure you want to delete this Bitcoin event?": "Bitte bestätige, dass du dieses Bitcoin Event löschen möchtest.", + "Manage cities\/areas": "Verwalte Städte\/Gebiete", + "Manage venues": "Verwalte Veranstaltungsorte", + "Image deleted!": "Bild gelöscht!", + "Current pictures": "Derzeitige Bilder" } diff --git a/resources/lang/en.json b/resources/lang/en.json index 1988a4aa..0dcf1d05 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -784,5 +784,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/es.json b/resources/lang/es.json index 2c30e745..1ae8088c 100644 --- a/resources/lang/es.json +++ b/resources/lang/es.json @@ -784,5 +784,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/fr.json b/resources/lang/fr.json index 3a8d9373..ebba0a6d 100644 --- a/resources/lang/fr.json +++ b/resources/lang/fr.json @@ -785,5 +785,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/hr.json b/resources/lang/hr.json index 4ae2bcaf..1fe01fea 100644 --- a/resources/lang/hr.json +++ b/resources/lang/hr.json @@ -785,5 +785,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/it.json b/resources/lang/it.json index 482434fb..c8162481 100644 --- a/resources/lang/it.json +++ b/resources/lang/it.json @@ -785,5 +785,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/mk.json b/resources/lang/mk.json index e1476cdd..fafe61ee 100644 --- a/resources/lang/mk.json +++ b/resources/lang/mk.json @@ -785,5 +785,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/pl.json b/resources/lang/pl.json index 4d316d06..195ba4f7 100644 --- a/resources/lang/pl.json +++ b/resources/lang/pl.json @@ -785,5 +785,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/pt.json b/resources/lang/pt.json index bbdadd56..428331f2 100644 --- a/resources/lang/pt.json +++ b/resources/lang/pt.json @@ -785,5 +785,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/sv.json b/resources/lang/sv.json index 284f31ff..7200cc1b 100644 --- a/resources/lang/sv.json +++ b/resources/lang/sv.json @@ -747,5 +747,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/lang/tr.json b/resources/lang/tr.json index 001d4507..1c701569 100644 --- a/resources/lang/tr.json +++ b/resources/lang/tr.json @@ -759,5 +759,10 @@ "Participants": "", "Lecturers\/Content Creators": "", "Manage lecturers": "", - "Settings": "" + "Settings": "", + "Are you sure you want to delete this Bitcoin event?": "", + "Manage cities\/areas": "", + "Manage venues": "", + "Image deleted!": "", + "Current pictures": "" } \ No newline at end of file diff --git a/resources/views/columns/cities/action.blade.php b/resources/views/columns/cities/action.blade.php index 3831e1c2..759027c0 100644 --- a/resources/views/columns/cities/action.blade.php +++ b/resources/views/columns/cities/action.blade.php @@ -1,9 +1,9 @@
- @if($type === 'school') + @if($type === 'school' && !$manage)
@if($row->course_events_count > 0) - + {{ __('Perimeter search course date :name (100km)', ['name' => $row->name]) }} @@ -11,7 +11,7 @@
@if($row->course_events_count < 1) - + {{ __('Perimeter search course date :name (100km)', ['name' => $row->name]) }} @@ -20,13 +20,21 @@
@endif
- @if($type === 'bookCase') + @if($type === 'bookCase' && !$manage)
- + {{ __('Perimeter search bookcase :name (25km)', ['name' => $row->name]) }}
@endif
+
+ @can('update', $row) + + + {{ __('Edit') }} + + @endcan +
diff --git a/resources/views/columns/cities/areas/toolbar-left-end.blade.php b/resources/views/columns/cities/areas/toolbar-left-end.blade.php index 503b58af..c2c30ee4 100644 --- a/resources/views/columns/cities/areas/toolbar-left-end.blade.php +++ b/resources/views/columns/cities/areas/toolbar-left-end.blade.php @@ -1,8 +1,6 @@ -
- - - - {{ __('New City') }} - - +
+ + + {{ __('New City') }} +
diff --git a/resources/views/columns/venues/action.blade.php b/resources/views/columns/venues/action.blade.php index 5b15d9a0..f114b75a 100644 --- a/resources/views/columns/venues/action.blade.php +++ b/resources/views/columns/venues/action.blade.php @@ -1,13 +1,13 @@
- @if($row->course_events_count > 0) + @if($row->course_events_count > 0 && !$manage) {{ __('Show dates') }} ({{ $row->course_events_count }}) @endif
- @if($row->course_events_count < 1) + @if($row->course_events_count < 1 && !$manage) {{ __('Show dates') }} ({{ $row->course_events_count }}) diff --git a/resources/views/livewire/book-case/city-table.blade.php b/resources/views/livewire/book-case/city-table.blade.php index 3c16e3b1..08dd50a1 100644 --- a/resources/views/livewire/book-case/city-table.blade.php +++ b/resources/views/livewire/book-case/city-table.blade.php @@ -15,7 +15,7 @@
- +
{{-- FOOTER --}} diff --git a/resources/views/livewire/frontend/navigation/courses.blade.php b/resources/views/livewire/frontend/navigation/courses.blade.php index 2d0ed1eb..545bd5ad 100644 --- a/resources/views/livewire/frontend/navigation/courses.blade.php +++ b/resources/views/livewire/frontend/navigation/courses.blade.php @@ -95,6 +95,18 @@ {{ __('Manage lecturers') }} + + + {{ __('Manage cities/areas') }} + + + + + {{ __('Manage venues') }} + +
diff --git a/resources/views/livewire/frontend/navigation/events.blade.php b/resources/views/livewire/frontend/navigation/events.blade.php index 1c754a51..89682068 100644 --- a/resources/views/livewire/frontend/navigation/events.blade.php +++ b/resources/views/livewire/frontend/navigation/events.blade.php @@ -53,6 +53,18 @@ {{ __('Register event') }} + + + {{ __('Manage cities/areas') }} + + + + + {{ __('Manage venues') }} + + diff --git a/resources/views/livewire/frontend/navigation/meetups.blade.php b/resources/views/livewire/frontend/navigation/meetups.blade.php index 6aa6d686..e22b3cf4 100644 --- a/resources/views/livewire/frontend/navigation/meetups.blade.php +++ b/resources/views/livewire/frontend/navigation/meetups.blade.php @@ -65,6 +65,12 @@ {{ __('Register Meetup date') }} + + + {{ __('Manage cities/areas') }} + + diff --git a/resources/views/livewire/school/venue-table.blade.php b/resources/views/livewire/school/venue-table.blade.php index acb8f47f..6d2b9264 100644 --- a/resources/views/livewire/school/venue-table.blade.php +++ b/resources/views/livewire/school/venue-table.blade.php @@ -14,7 +14,7 @@ {{----}} - + {{-- FOOTER --}} diff --git a/resources/views/livewire/venue/form/venue-form.blade.php b/resources/views/livewire/venue/form/venue-form.blade.php index 59459ea7..b67d7e1b 100644 --- a/resources/views/livewire/venue/form/venue-form.blade.php +++ b/resources/views/livewire/venue/form/venue-form.blade.php @@ -39,10 +39,24 @@ @endforeach @endif - {{--@if ($venue->getFirstMediaUrl('images')) -
{{ __('Current picture') }}:
- - @endif--}} + @if ($venue->getMedia('images')) +
{{ __('Current pictures') }}:
+
+ @foreach($venue->getMedia('images') as $image) +
+
+ +
+
+ + + {{ __('Delete') }} + +
+
+ @endforeach +
+ @endif