Compare commits

..

No commits in common. "4de915aa421875f4777a58f56e9212d51cbd7760" and "7908161f268632ce9d648a73e739a59b51d799b7" have entirely different histories.

15 changed files with 68 additions and 71 deletions

View file

@ -25,38 +25,37 @@ class ItemResource extends Resource
protected static ?string $modelLabel = 'Items'; protected static ?string $modelLabel = 'Items';
public static function form(Form $form): Form public static function form(Form $form): Form
{ {
return $form return $form
->schema([ ->schema([
Forms\Components\FileUpload::make('image') Forms\Components\FileUpload::make('image')
->label('Image') ->label('Bild')
->minSize(512) ->minSize(512)
->maxSize(5500) ->maxSize(1024)
->columnSpan('full') ->columnSpan('full')
->image(), ->image(),
Forms\Components\TextInput::make('desc') Forms\Components\TextInput::make('desc')
->label('Description') ->label('Beskrivning')
->maxLength(255) ->maxLength(255)
->default(null), ->default(null),
Forms\Components\DatePicker::make('acquisition_date') Forms\Components\DatePicker::make('acquisition_date')
->label('Acquisition date'), ->label('Inköpsdatum'),
Forms\Components\TextInput::make('quantity') Forms\Components\TextInput::make('quantity')
->label('Quantity') ->label('Antal')
->numeric() ->numeric()
->minValue(0) ->minValue(0)
->maxValue(1000) ->maxValue(1000)
->default(0), ->default(0),
Forms\Components\Select::make('type_id') Forms\Components\Select::make('type_id')
->label('Type') ->label('Typ')
->options(Type::all()->pluck('name', 'id')) ->options(Type::all()->pluck('name', 'id'))
->required(), ->required(),
Forms\Components\TextInput::make('cost') Forms\Components\TextInput::make('cost')
->label('Price') ->label('Kostnad')
->default(null), ->default(null),
Forms\Components\Toggle::make('can_be_loaned') Forms\Components\Toggle::make('can_be_loaned')
->label('Can be loaned'), ->label('Kan lånas ut'),
]); ]);
} }
@ -65,28 +64,28 @@ class ItemResource extends Resource
return $table return $table
->columns([ ->columns([
Tables\Columns\TextColumn::make('desc') Tables\Columns\TextColumn::make('desc')
->label('Description') ->label('Beskrivning')
->searchable(), ->searchable(),
Tables\Columns\TextColumn::make('acquisition_date') Tables\Columns\TextColumn::make('acquisition_date')
->label('Acquisition date') ->label('Inköpsdatum')
->date() ->date()
->sortable() ->sortable()
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\TextColumn::make('quantity') Tables\Columns\TextColumn::make('quantity')
->label('Quantity') ->label('Antal')
->numeric() ->numeric()
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('type.name') Tables\Columns\TextColumn::make('type.name')
->label('Type') ->label('Typ')
->numeric() ->numeric()
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('cost') Tables\Columns\TextColumn::make('cost')
->label('Price') ->label('Kostnad')
->toggleable(isToggledHiddenByDefault: true), ->toggleable(isToggledHiddenByDefault: true),
Tables\Columns\ImageColumn::make('image') Tables\Columns\ImageColumn::make('image')
->label('Image'), ->label('Bild'),
Tables\Columns\IconColumn::make('can_be_loaned') Tables\Columns\IconColumn::make('can_be_loaned')
->label('Can be loaned') ->label('Kan bli utlånad')
->trueIcon('heroicon-o-check-badge') ->trueIcon('heroicon-o-check-badge')
->falseIcon('heroicon-o-x-mark') ->falseIcon('heroicon-o-x-mark')
->trueColor('success') ->trueColor('success')
@ -101,7 +100,7 @@ class ItemResource extends Resource
// //
]) ])
->actions([ ->actions([
Tables\Actions\EditAction::make() Tables\Actions\EditAction::make(),
]) ])
->bulkActions([ ->bulkActions([
Tables\Actions\BulkActionGroup::make([ Tables\Actions\BulkActionGroup::make([

View file

@ -13,7 +13,7 @@ class ListItems extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make()->label('Create new'), Actions\CreateAction::make(),
]; ];
} }
} }

View file

@ -19,22 +19,22 @@ class ItemsOverview extends BaseWidget
->query( ->query(
Item::where('can_be_loaned', true) Item::where('can_be_loaned', true)
) )
->heading('Items for lending') ->heading('Items för utlåning')
->columns([ ->columns([
Tables\Columns\TextColumn::make('desc') Tables\Columns\TextColumn::make('desc')
->label('Description') ->label('Beskrivning')
->searchable(), ->searchable(),
Tables\Columns\ImageColumn::make('image') Tables\Columns\ImageColumn::make('image')
->label('Image'), ->label('Bild'),
Tables\Columns\IconColumn::make('reserved') Tables\Columns\IconColumn::make('reserveditem.reserved')
->label('Available') ->label('Tillgänglig')
->falseIcon('heroicon-o-check-badge') ->trueIcon('heroicon-o-check-badge')
->trueIcon('heroicon-o-x-mark') ->falseIcon('heroicon-o-x-mark')
->falseColor('success') ->trueColor('success')
->trueColor('danger') ->falseColor('danger')
->default(false), ->default(true),
Tables\Columns\TextColumn::make('reserveditem.return_date') Tables\Columns\TextColumn::make('reserveditem.return_date')
->label('Available again') ->label('Tillbaka')
->searchable(), ->searchable(),
]); ]);
} }

View file

@ -22,16 +22,16 @@ class ReserveditemResource extends Resource
protected static ?string $navigationIcon = 'heroicon-o-archive-box-x-mark'; protected static ?string $navigationIcon = 'heroicon-o-archive-box-x-mark';
protected static ?string $modelLabel = 'Reserved items'; protected static ?string $modelLabel = 'Reserverade items';
protected static ?string $title = 'Reserve an item'; protected static ?string $title = 'Reserverade item';
public static function form(Form $form): Form public static function form(Form $form): Form
{ {
return $form return $form
->schema([ ->schema([
Forms\Components\Select::make('item_id') Forms\Components\Select::make('item_id')
->label('Choose item to reserve') ->label('Välj item att lån')
->relationship( ->relationship(
name: 'item', name: 'item',
titleAttribute: 'desc', titleAttribute: 'desc',
@ -60,22 +60,22 @@ class ReserveditemResource extends Resource
//->query(Reserveditem::withTrashed()) //->query(Reserveditem::withTrashed())
->columns([ ->columns([
Tables\Columns\TextColumn::make('item.desc') Tables\Columns\TextColumn::make('item.desc')
->label('Name') ->label('Namn')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('username') Tables\Columns\TextColumn::make('username')
->label('User') ->label('Användare')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('reserved_date') Tables\Columns\TextColumn::make('reserved_date')
->label('Reservation date') ->label('Reserveringsdatum')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('delivered_date') Tables\Columns\TextColumn::make('delivered_date')
->label('Delivery date') ->label('Utlämningsdatum')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('return_date') Tables\Columns\TextColumn::make('return_date')
->label('Return date') ->label('Återlämningsdatum')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('returned_date') Tables\Columns\TextColumn::make('returned_date')
->label('Returned') ->label('Återlämnad')
->sortable(), ->sortable(),
]) ])
->filters([ ->filters([

View file

@ -14,7 +14,6 @@ class CreateReserveditem extends CreateRecord
{ {
protected static string $resource = ReserveditemResource::class; protected static string $resource = ReserveditemResource::class;
protected static ?string $title = 'Reserve an item';
protected function handleRecordCreation(array $data): Model protected function handleRecordCreation(array $data): Model
{ {

View file

@ -22,6 +22,8 @@ class EditReserveditem extends EditRecord
protected function mutateFormDataBeforeSave(array $data): array protected function mutateFormDataBeforeSave(array $data): array
{ {
$data['user_id'] = auth()->id();
$data['username'] = auth()->user()->name;
if ($data['delivered']) if ($data['delivered'])
{ {

View file

@ -13,7 +13,7 @@ class ListReserveditems extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make()->label('Create new'), Actions\CreateAction::make(),
]; ];
} }
} }

View file

@ -20,7 +20,9 @@ class ReserveditemResourceUser extends Resource
protected static ?string $navigationIcon = 'heroicon-o-archive-box-x-mark'; protected static ?string $navigationIcon = 'heroicon-o-archive-box-x-mark';
protected static ?string $modelLabel = 'Reserve items'; protected static ?string $modelLabel = 'Reservera item';
protected static ?string $title = 'Reservera item';
protected static ?string $slug = 'user'; protected static ?string $slug = 'user';
@ -29,7 +31,7 @@ class ReserveditemResourceUser extends Resource
return $form return $form
->schema([ ->schema([
Forms\Components\Select::make('item_id') Forms\Components\Select::make('item_id')
->label('Choose an item to reserve') ->label('Välj item att låna')
->relationship( ->relationship(
name: 'item', name: 'item',
titleAttribute: 'desc', titleAttribute: 'desc',
@ -50,22 +52,22 @@ class ReserveditemResourceUser extends Resource
return $table return $table
->columns([ ->columns([
Tables\Columns\TextColumn::make('items.desc') Tables\Columns\TextColumn::make('items.desc')
->label('Name') ->label('Namn')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('username') Tables\Columns\TextColumn::make('username')
->label('User') ->label('Användare')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('reserved_date') Tables\Columns\TextColumn::make('reserved_date')
->label('Reserved date') ->label('Reserveringsdatum')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('delivered_date') Tables\Columns\TextColumn::make('delivered_date')
->label('Delivery date') ->label('Utlämningsdatum')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('return_date') Tables\Columns\TextColumn::make('return_date')
->label('Return date') ->label('Återlämningsdatum')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('returned_date') Tables\Columns\TextColumn::make('returned_date')
->label('Returned') ->label('Återlämnad')
->sortable(), ->sortable(),
]) ])
->filters([ ->filters([
@ -100,9 +102,4 @@ class ReserveditemResourceUser extends Resource
ItemResource\Widgets\ItemsOverview::class, ItemResource\Widgets\ItemsOverview::class,
]; ];
} }
public static function canViewAny(): bool
{
return auth()->user()->is_admin==false;
}
} }

View file

@ -14,7 +14,7 @@ class CreateReserveditemUser extends CreateRecord
{ {
protected static string $resource = ReserveditemResourceUser::class; protected static string $resource = ReserveditemResourceUser::class;
protected static ?string $title = 'Reserve an item'; protected static ?string $title = 'Reserverade item';
protected function handleRecordCreation(array $data): Model protected function handleRecordCreation(array $data): Model
{ {

View file

@ -19,9 +19,9 @@ class TypeResource extends Resource
protected static ?string $navigationIcon = 'heroicon-o-bookmark'; protected static ?string $navigationIcon = 'heroicon-o-bookmark';
protected static ?string $modelLabel = 'Item types'; protected static ?string $modelLabel = 'Items types';
protected static ?string $title = 'Item Types'; protected static ?string $title = 'Items Types';
public static function form(Form $form): Form public static function form(Form $form): Form
{ {
@ -38,7 +38,7 @@ class TypeResource extends Resource
return $table return $table
->columns([ ->columns([
Tables\Columns\TextColumn::make('name') Tables\Columns\TextColumn::make('name')
->label('Name') ->label('Namn')
->searchable(), ->searchable(),
]) ])
->filters([ ->filters([

View file

@ -13,7 +13,7 @@ class ListTypes extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make()->label('Create new'), Actions\CreateAction::make(),
]; ];
} }
} }

View file

@ -45,7 +45,7 @@ class UserResource extends Resource
return $table return $table
->columns([ ->columns([
Tables\Columns\TextColumn::make('name') Tables\Columns\TextColumn::make('name')
->label('Name') ->label('Namn')
->searchable(), ->searchable(),
Tables\Columns\TextColumn::make('email') Tables\Columns\TextColumn::make('email')
->searchable(), ->searchable(),

View file

@ -13,7 +13,7 @@ class ListUsers extends ListRecords
protected function getHeaderActions(): array protected function getHeaderActions(): array
{ {
return [ return [
Actions\CreateAction::make()->label('Create new'), Actions\CreateAction::make(),
]; ];
} }
} }

View file

@ -16,9 +16,9 @@ class AdminWidget extends BaseWidget
protected function getStats(): array protected function getStats(): array
{ {
return [ return [
Card::make('Total number of users', User::count() ), Card::make('Totalt antal användare', User::count() ),
Card::make('Total number of items', Item::count() ), Card::make('Totalt antal items', Item::count() ),
Card::make('Reserved items', Reserveditem::count() ), Card::make('Utlånande items', Reserveditem::count() ),
]; ];
} }

View file

@ -19,27 +19,27 @@ class ReserveditemsOverview extends BaseWidget
->query( ->query(
Reserveditem::where('user_id', auth()->id())->where('returned', false) Reserveditem::where('user_id', auth()->id())->where('returned', false)
) )
->heading('Your reserved items') ->heading('Dina lånade items')
->columns([ ->columns([
Tables\Columns\TextColumn::make('item.desc') Tables\Columns\TextColumn::make('item.desc')
->label('Description') ->label('Beskrivning')
->searchable(), ->searchable(),
Tables\Columns\ImageColumn::make('item.image') Tables\Columns\ImageColumn::make('item.image')
->label('Image'), ->label('Bild'),
Tables\Columns\TextColumn::make('reserved_date') Tables\Columns\TextColumn::make('reserved_date')
->label('Reserved date') ->label('Reserveringsdatum')
->sortable(), ->sortable(),
Tables\Columns\TextColumn::make('return_date') Tables\Columns\TextColumn::make('return_date')
->label('Return date') ->label('Återlämnningsdatum')
->sortable(), ->sortable(),
Tables\Columns\IconColumn::make('delivered') Tables\Columns\IconColumn::make('delivered')
->label('Delivered') ->label('Utlämnad')
->trueIcon('heroicon-o-check-badge') ->trueIcon('heroicon-o-check-badge')
->falseIcon('heroicon-o-x-mark') ->falseIcon('heroicon-o-x-mark')
->trueColor('success') ->trueColor('success')
->falseColor('danger'), ->falseColor('danger'),
Tables\Columns\IconColumn::make('returned') Tables\Columns\IconColumn::make('returned')
->label('Returned') ->label('Återlämnad')
->trueIcon('heroicon-o-check-badge') ->trueIcon('heroicon-o-check-badge')
->falseIcon('heroicon-o-x-mark') ->falseIcon('heroicon-o-x-mark')
->trueColor('success') ->trueColor('success')