feat: add share functionality for cutting resource with route and controller method
This commit is contained in:
parent
95df2e9dc7
commit
863d0e7b98
@ -49,6 +49,13 @@ public function show(Cutting $cutting): Response
|
||||
]);
|
||||
}
|
||||
|
||||
public function share(Cutting $cutting): Response
|
||||
{
|
||||
return Inertia::render('admin/manage/cutting/show', [
|
||||
'cutting' => $this->service->getForShow($cutting),
|
||||
]);
|
||||
}
|
||||
|
||||
public function store(CuttingRequest $request): RedirectResponse
|
||||
{
|
||||
return $this->handleAction(
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
import { Briefcase, ChevronDown, Copy, MessageCircle, Pencil, Share2, Trash2 } from 'lucide-react';
|
||||
import { useState } from 'react';
|
||||
import { RowActions } from '@/components/data-display';
|
||||
import { ImagePreviewButton } from '@/components/dialogs';
|
||||
import { Button } from '@/components/ui/button';
|
||||
@ -10,13 +12,11 @@ import {
|
||||
import { Tooltip, TooltipContent, TooltipTrigger } from '@/components/ui/tooltip';
|
||||
import { useCan } from '@/hooks/use-can';
|
||||
import { formatNumber } from '@/lib/format';
|
||||
import { show as cuttingShow } from '@/routes/admin/manage/cuttings';
|
||||
import { Briefcase, ChevronDown, Copy, MessageCircle, Pencil, Share2, Trash2 } from 'lucide-react';
|
||||
import { useState } from 'react';
|
||||
import { share as cuttingShare } from '@/routes/admin/manage/cuttings';
|
||||
import type { Cutting } from './columns';
|
||||
|
||||
function generateShareLink(cuttingId: number): string {
|
||||
return window.location.origin + cuttingShow.url(cuttingId);
|
||||
return window.location.origin + cuttingShare.url(cuttingId);
|
||||
}
|
||||
|
||||
function generateWhatsappText(cutting: Cutting): string {
|
||||
|
||||
@ -53,6 +53,7 @@
|
||||
|
||||
Route::resource('raw-materials', RawMaterialController::class)->except(['show'])->middleware('permission:raw_materials.view|raw_materials.create|raw_materials.update|raw_materials.delete');
|
||||
Route::post('raw-materials/{rawMaterial}/toggle-status', [RawMaterialController::class, 'toggleStatus'])->name('raw-materials.toggle-status')->middleware('permission:raw_materials.toggle_status');
|
||||
Route::get('raw-materials/{rawMaterial}/variants', [RawMaterialController::class, 'variants'])->name('raw-materials.variants')->middleware('permission:raw_materials.view');
|
||||
Route::get('raw-materials/{rawMaterial}/variants/{variant}/edit', [RawMaterialVariantController::class, 'edit'])->name('raw-materials.variants.edit')->middleware('permission:raw_materials.update');
|
||||
Route::put('raw-materials/{rawMaterial}/variants/{variant}', [RawMaterialVariantController::class, 'update'])->name('raw-materials.variants.update')->middleware('permission:raw_materials.update');
|
||||
Route::delete('raw-materials/{rawMaterial}/variants/{variant}', [RawMaterialVariantController::class, 'destroy'])->name('raw-materials.variants.destroy')->middleware('permission:raw_materials.delete');
|
||||
@ -66,6 +67,7 @@
|
||||
Route::resource('purchases', PurchaseController::class)->except(['show'])->middleware('permission:purchases.view|purchases.create|purchases.update|purchases.delete');
|
||||
|
||||
Route::resource('cuttings', CuttingController::class)->middleware('permission:cuttings.view|cuttings.create|cuttings.update|cuttings.delete');
|
||||
Route::get('cuttings/{cutting}/share', [CuttingController::class, 'share'])->name('cuttings.share');
|
||||
|
||||
Route::resource('transactions', TransactionController::class)->except(['show'])->middleware('permission:orders.view|orders.create|orders.update|orders.delete');
|
||||
Route::patch('transactions/{transaction}/status', [TransactionController::class, 'updateStatus'])->name('transactions.updateStatus')->middleware('permission:orders.update');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user