diff --git a/app/Filament/Pages/Auth/Register.php b/app/Filament/Pages/Auth/Register.php index 726ab20..dd631da 100644 --- a/app/Filament/Pages/Auth/Register.php +++ b/app/Filament/Pages/Auth/Register.php @@ -15,12 +15,11 @@ use Filament\Schemas\Components\View; use Filament\Schemas\Components\Wizard; use Filament\Schemas\Components\Wizard\Step; use Filament\Schemas\Schema; +use Illuminate\Database\Eloquent\Model; use Ysfkaya\FilamentPhoneInput\Forms\PhoneInput; class Register extends BaseRegister { - public User $user; - public function form(Schema $schema): Schema { return $schema @@ -30,7 +29,14 @@ class Register extends BaseRegister ->icon('lucide-user-plus') ->description('Benutzer anlegen.') ->schema([ - $this->getGenderFormComponent(), + Select::make('gender') + ->label('Geschlecht') + ->options([ + 'Herr' => 'Herr', + 'Frau' => 'Frau', + 'Non-binary' => 'Non-binary', + ]) + ->required(), $this->getNameFormComponent(), $this->getEmailFormComponent(), $this->getPasswordFormComponent(), @@ -41,46 +47,83 @@ class Register extends BaseRegister ->icon('lucide-key-square') ->description('Mit einem Konto verbinden.') ->schema([ - $this->getKontoModusFormComponent(), - /** BESTEHENDES KONTO */ - $this->getKontoFormComponent(), + /** BESTEHENDES / NEU */ + Select::make('register-modus') + ->columnSpan(4) + ->label('Registriermodus') + ->prefixIcon('lucide-key-square') + ->prefixIconColor('primary') + ->aboveLabel([ + 'Bitte wählen Sie ein bestehendes Konto oder erstellen Sie ein neues. Eine Registrierung bei einem bestehenden Konto muß vom Kontoinhaber bestätigt werden.', + ]) + ->options([ + 'old' => 'Mit einem bestehenden Konto verbinden', + 'new' => 'Ein neues Konto erstellen', + ]) + ->live() + ->required(), + /** BESTEHEND */ + Select::make('konto_id') + ->columnSpan(4) + ->label('Konto auswählen') + ->belowLabel([ + 'Um das erstellte Profil zu aktivieren muß der Kontoinhaber die Anmeldung im Programm freischalten', + ]) + ->visible(fn (Get $get): bool => $get('register-modus') == 'old') + ->options(Konto::query()->pluck('company', 'id')) + ->searchable() + ->required(), /** NEU */ Fieldset::make('Rechnungsdaten') - ->visible(fn (Get $get): bool => $get('konto') == 'new') + ->visible(fn (Get $get): bool => $get('register-modus') == 'new') ->schema([ - TextInput::make('company') + TextInput::make('kontos.company') ->label('Firma') ->required(), - TextInput::make('uid_number') + TextInput::make('kontos.uid_number') ->label('UID Nummer') ->rules([new VatNumber]) ->required(), - Textarea::make('address') + Textarea::make('kontos.address') ->label('Adresse') ->required(), - TextInput::make('country') + TextInput::make('kontos.country') ->label('Land') ->default('Österreich') ->required(), ])->columnSpan(4), Fieldset::make('Kontaktperson') - ->visible(fn (Get $get): bool => $get('konto') == 'new') + ->visible(fn (Get $get): bool => $get('register-modus') == 'new') ->schema([ - // $this->getKontoGenderFormComponent(), - // $this->getTitleFormComponent(), - // $this->getNameFormComponent(), - // $this->getKontoEmailFormComponent(), - // $this->getPhoneFormComponent(), + Select::make('kontos.gender') + ->columnSpan(2) + ->label('Geschlecht') + ->options([ + 'Herr' => 'Herr', + 'Frau' => 'Frau', + 'Non-binary' => 'Non-binary', + ]) + ->required(), + TextInput::make('kontos.title') + ->label('Titel') + ->required(), + TextInput::make('kontos.name') + ->required(), + TextInput::make('kontos.email') + ->label('E-Mail') + ->unique(table: Konto::class) + ->required(), + PhoneInput::make('kontos.phone') + ->label('Telefon') + ->defaultCountry('AT'), ])->columnSpan(4), ]), Wizard\Step::make('AGB') ->icon('lucide-receipt-text') - ->visible(fn (Get $get): bool => $get('konto') == 'new') ->description(' Allgemein Geschäftsbedignugen') ->schema([ Fieldset::make('Bitte lesen und akzeptieren Sie die allgemeinen Geschäftsbedignungen um die Registrierung abzuschließen.') - ->visible(fn (Get $get): bool => $get('konto') == 'new') ->schema([ Checkbox::make('agb_akzeptiert') ->label('ABG akzeptieren') @@ -94,106 +137,17 @@ class Register extends BaseRegister ]); } - /** - * MODUS - */ - protected function getKontoModusFormComponent(): Select + public function handleRegistration(array $data): Model { - return Select::make('konto') - ->columnSpan(4) - ->label('Registriermodus') - ->prefixIcon('lucide-key-square') - ->prefixIconColor('primary') - ->aboveLabel([ - 'Bitte wählen Sie ein bestehendes Konto oder erstellen Sie ein neues. Eine Registrierung bei einem bestehenden Konto muß vom Kontoinhaber bestätigt werden.', - ]) - ->options([ - 'old' => 'Mit einem bestehenden Konto verbinden', - 'new' => 'Ein neues Konto erstellen', - ]) - ->live() - ->required(); - } + if (isset($data['kontos'])) { + $konto = new Konto($data['kontos']); + $konto->save(); + $data['konto_id'] = $konto->id; + } + unset($data['kontos']); - /** - * USER - */ - protected function getGenderFormComponent(): Select - { - return Select::make('gender') - ->label('Geschlecht') - ->options([ - 'Herr' => 'Herr', - 'Frau' => 'Frau', - 'Non-binary' => 'Non-binary', - ]) - ->required(); - } + $user = parent::handleRegistration($data); - /** - * KONTO WÄHLEN - */ - protected function getKontoFormComponent(): Select - { - return Select::make('konto_id') - ->columnSpan(4) - ->label('Konto auswählen') - ->belowLabel([ - 'Um das erstellte Profil zu aktivieren muß der Kontoinhaber die Anmeldung im Programm freischalten', - ]) - ->visible(fn (Get $get): bool => $get('konto') == 'old') - ->options(Konto::query()->pluck('company', 'id')) - ->searchable() - ->required(); - } - - /** - * KONTO NEU - */ - protected function getTitleFormComponent(): TextInput - { - return TextInput::make('title') - ->label('Title') - ->visible(fn (Get $get): bool => $get('konto') == 'new') - ->required(); - } - - protected function getKontoGenderFormComponent(): Select - { - return Select::make('gender') - ->columnSpan(2) - ->label('Geschlecht') - ->visible(fn (Get $get): bool => $get('konto') == 'new') - ->options([ - 'Herr' => 'Herr', - 'Frau' => 'Frau', - 'Non-binary' => 'Non-binary', - ]) - ->required(); - } - - protected function getCompanyFormComponent(): TextInput - { - return TextInput::make('konto.company') - ->label('Firma') - ->visible(fn (Get $get): bool => $get('konto') == 'new') - ->required(); - } - - protected function getKontoEmailFormComponent(): TextInput - { - return TextInput::make('email') - ->label('E-Mail') - ->visible(fn (Get $get): bool => $get('konto') == 'new') - ->unique(table: Konto::class) - ->required(); - } - - protected function getPhoneFormComponent(): PhoneInput - { - return PhoneInput::make('phone') - ->label('Telefon') - ->visible(fn (Get $get): bool => $get('konto') == 'new') - ->defaultCountry('AT'); + return $user; } } diff --git a/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php b/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php index 276f2be..9bf6d0a 100644 --- a/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php +++ b/app/Filament/Resources/Auftraggebers/AuftraggeberResource.php @@ -13,6 +13,7 @@ use BackedEnum; use Filament\Resources\Resource; use Filament\Schemas\Schema; use Filament\Tables\Table; +use Illuminate\Database\Eloquent\Builder; class AuftraggeberResource extends Resource { @@ -58,8 +59,13 @@ class AuftraggeberResource extends Resource ]; } + public static function getEloquentQuery(): Builder + { + return parent::getEloquentQuery()->where('konto_id', auth()->user()->konto_id); + } + public static function getNavigationBadge(): ?string { - return parent::getEloquentQuery()->count(); + return parent::getEloquentQuery()->where('konto_id', auth()->user()->konto_id)->count(); } } diff --git a/app/Filament/Resources/Auftraggebers/Tables/AuftraggebersTable.php b/app/Filament/Resources/Auftraggebers/Tables/AuftraggebersTable.php index a7c84d1..eb65205 100644 --- a/app/Filament/Resources/Auftraggebers/Tables/AuftraggebersTable.php +++ b/app/Filament/Resources/Auftraggebers/Tables/AuftraggebersTable.php @@ -5,6 +5,7 @@ namespace App\Filament\Resources\Auftraggebers\Tables; use Filament\Actions\BulkActionGroup; use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; +use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; class AuftraggebersTable @@ -13,7 +14,8 @@ class AuftraggebersTable { return $table ->columns([ - // + TextColumn::make('name'), + TextColumn::make('email')->copyable()->label('E-Mail'), ]) ->filters([ // diff --git a/app/Filament/Resources/Gutachters/GutachterResource.php b/app/Filament/Resources/Gutachters/GutachterResource.php index 367b8a8..77a5aa8 100644 --- a/app/Filament/Resources/Gutachters/GutachterResource.php +++ b/app/Filament/Resources/Gutachters/GutachterResource.php @@ -68,8 +68,13 @@ class GutachterResource extends Resource ]); } + public static function getEloquentQuery(): Builder + { + return parent::getEloquentQuery()->where('konto_id', auth()->user()->konto_id); + } + public static function getNavigationBadge(): ?string { - return parent::getEloquentQuery()->count(); + return parent::getEloquentQuery()->where('konto_id', auth()->user()->konto_id)->count(); } } diff --git a/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php b/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php index 8365a8b..5323a33 100644 --- a/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php +++ b/app/Filament/Resources/Gutachters/Tables/GutachtersTable.php @@ -18,6 +18,7 @@ class GutachtersTable return $table ->columns([ TextColumn::make('name'), + TextColumn::make('email')->copyable()->label('E-Mail'), ]) ->filters([ TrashedFilter::make(), diff --git a/app/Filament/Resources/Kontos/Tables/KontosTable.php b/app/Filament/Resources/Kontos/Tables/KontosTable.php index 6c28ef6..146639f 100644 --- a/app/Filament/Resources/Kontos/Tables/KontosTable.php +++ b/app/Filament/Resources/Kontos/Tables/KontosTable.php @@ -9,7 +9,6 @@ use Filament\Forms\Components\TextInput; use Filament\Support\Enums\FontWeight; use Filament\Support\Enums\TextSize; use Filament\Support\Icons\Heroicon; -use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Table; use Illuminate\Support\Facades\Mail; @@ -26,11 +25,6 @@ class KontosTable // TextColumn::make('gender')->label('Geschlecht'), // TextColumn::make('title')->label('Title'), // TextColumn::make('first_name')->label('Vorname'), - // IconColumn::make('agb_akzeptiert') - // ->label('AGB') - // ->boolean() - // ->trueIcon(Heroicon::OutlinedCheckBadge) - // ->falseIcon(Heroicon::OutlinedXMark), // PhoneColumn::make('phone') // ->label('Telefon') @@ -42,14 +36,14 @@ class KontosTable // ->label('E-mail'), TextColumn::make('company')->label('Firma') - ->description(fn ($record): string => $record->address.', '.$record->location), + ->description(fn ($record): string => $record->address), TextColumn::make('plan.name') ->icon(Heroicon::CurrencyEuro) // ->iconColor('success') // ->badge() ->label('Plan') - ->description(fn ($record): string => $record->plan->description) + ->description(fn ($record): string => $record->plan->payment) ->wrap(), TextColumn::make('guthaben') diff --git a/app/Filament/Resources/Users/Tables/UsersTable.php b/app/Filament/Resources/Users/Tables/UsersTable.php index d58be76..4b97251 100644 --- a/app/Filament/Resources/Users/Tables/UsersTable.php +++ b/app/Filament/Resources/Users/Tables/UsersTable.php @@ -7,6 +7,8 @@ use Filament\Actions\DeleteBulkAction; use Filament\Actions\EditAction; use Filament\Actions\ForceDeleteBulkAction; use Filament\Actions\RestoreBulkAction; +use Filament\Support\Icons\Heroicon; +use Filament\Tables\Columns\IconColumn; use Filament\Tables\Columns\TextColumn; use Filament\Tables\Filters\TrashedFilter; use Filament\Tables\Table; @@ -21,7 +23,11 @@ class UsersTable TextColumn::make('name'), TextColumn::make('konto.company')->badge(), TextColumn::make('email')->copyable()->label('E-Mail'), - // + IconColumn::make('agb_akzeptiert') + ->label('AGB') + ->boolean() + ->trueIcon(Heroicon::OutlinedCheckBadge) + ->falseIcon(Heroicon::OutlinedXMark), ]) ->filters([ TrashedFilter::make()->visible(fn () => auth()->user()->hasRole('super_admin')), diff --git a/app/Filament/Resources/Users/UserResource.php b/app/Filament/Resources/Users/UserResource.php index 9968bf3..390bad4 100644 --- a/app/Filament/Resources/Users/UserResource.php +++ b/app/Filament/Resources/Users/UserResource.php @@ -66,8 +66,13 @@ class UserResource extends Resource ]); } + public static function getEloquentQuery(): Builder + { + return parent::getEloquentQuery()->where('konto_id', auth()->user()->konto_id); + } + public static function getNavigationBadge(): ?string { - return parent::getEloquentQuery()->count(); + return parent::getEloquentQuery()->where('konto_id', auth()->user()->konto_id)->count(); } } diff --git a/app/Models/Auftraggeber.php b/app/Models/Auftraggeber.php index 55935e0..a07b684 100644 --- a/app/Models/Auftraggeber.php +++ b/app/Models/Auftraggeber.php @@ -2,9 +2,28 @@ namespace App\Models; +use Database\Factories\AuftraggeberFactory; +use Illuminate\Database\Eloquent\Factories\Factory; +use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Auftraggeber extends Model { - // + use HasFactory; + + protected $fillable = [ + 'konto_id', + 'name', + 'logo', + 'address', + 'country', + 'kontakt', + 'email', + 'phone', + ]; + + protected static function newFactory(): Factory + { + return AuftraggeberFactory::new(); + } } diff --git a/app/Models/Gutachter.php b/app/Models/Gutachter.php index bfee670..d75d532 100644 --- a/app/Models/Gutachter.php +++ b/app/Models/Gutachter.php @@ -14,6 +14,16 @@ class Gutachter extends Model use HasFactory; use SoftDeletes; + protected $fillable = [ + 'konto_id', + 'name', + 'logo', + 'address', + 'country', + 'email', + 'phone', + ]; + protected static function booted(): void { static::addGlobalScope(new KontoScope); diff --git a/app/Models/Konto.php b/app/Models/Konto.php index 665874e..767aaf7 100644 --- a/app/Models/Konto.php +++ b/app/Models/Konto.php @@ -20,15 +20,13 @@ class Konto extends Model protected $fillable = [ 'title', 'gender', - 'first_name', - 'last_name', + 'name', 'company', 'email', 'address', 'country', 'phone', 'uid_number', - 'agb_akzeptiert', 'plan_id', 'guthaben', 'gueltig_bis', diff --git a/app/Models/User.php b/app/Models/User.php index 9a6261c..47e567c 100644 --- a/app/Models/User.php +++ b/app/Models/User.php @@ -34,6 +34,7 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication 'name', 'email', 'password', + 'agb_akzeptiert', 'app_verified_at', ]; diff --git a/app/Providers/AppServiceProvider.php b/app/Providers/AppServiceProvider.php index 21220af..b70fdf5 100644 --- a/app/Providers/AppServiceProvider.php +++ b/app/Providers/AppServiceProvider.php @@ -27,8 +27,8 @@ class AppServiceProvider extends ServiceProvider FilamentColor::register([ 'danger' => Color::Red, 'gray' => Color::Zinc, - 'info' => Color::Indigo, - 'primary' => Color::Sky, + 'info' => Color::Blue, + 'primary' => Color::Red, 'success' => Color::Green, 'warning' => Color::Amber, ]); diff --git a/composer.lock b/composer.lock index 784fa98..bcd028b 100644 --- a/composer.lock +++ b/composer.lock @@ -1902,16 +1902,16 @@ }, { "name": "giggsey/libphonenumber-for-php-lite", - "version": "9.0.14", + "version": "9.0.15", "source": { "type": "git", "url": "https://github.com/giggsey/libphonenumber-for-php-lite.git", - "reference": "af794cc2ed18edeebadf5ffe08eb6add04275709" + "reference": "bdb457250790bba0a4f8f03e3a3eceb47805499e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/af794cc2ed18edeebadf5ffe08eb6add04275709", - "reference": "af794cc2ed18edeebadf5ffe08eb6add04275709", + "url": "https://api.github.com/repos/giggsey/libphonenumber-for-php-lite/zipball/bdb457250790bba0a4f8f03e3a3eceb47805499e", + "reference": "bdb457250790bba0a4f8f03e3a3eceb47805499e", "shasum": "" }, "require": { @@ -1976,7 +1976,7 @@ "issues": "https://github.com/giggsey/libphonenumber-for-php-lite/issues", "source": "https://github.com/giggsey/libphonenumber-for-php-lite" }, - "time": "2025-09-16T07:09:25+00:00" + "time": "2025-09-26T07:21:30+00:00" }, { "name": "graham-campbell/result-type", diff --git a/database/factories/AuftraggeberFactory.php b/database/factories/AuftraggeberFactory.php new file mode 100644 index 0000000..abb6df1 --- /dev/null +++ b/database/factories/AuftraggeberFactory.php @@ -0,0 +1,30 @@ + + */ +class AuftraggeberFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition(): array + { + return [ + 'konto_id' => Konto::all()->random()->id, + 'name' => fake()->name(), + 'address' => fake()->Address(), + 'kontakt' => fake()->name(), + 'country' => 'Österreich', + 'email' => fake()->email(), + 'phone' => fake()->PhoneNumber(), + ]; + } +} diff --git a/database/factories/GutachterFactory.php b/database/factories/GutachterFactory.php index afecbbf..c088d50 100644 --- a/database/factories/GutachterFactory.php +++ b/database/factories/GutachterFactory.php @@ -2,6 +2,7 @@ namespace Database\Factories; +use App\Models\Konto; use Illuminate\Database\Eloquent\Factories\Factory; /** @@ -17,7 +18,7 @@ class GutachterFactory extends Factory public function definition(): array { return [ - 'konto_id' => fake()->numberBetween(1, 7), + 'konto_id' => Konto::all()->random()->id, 'name' => fake()->name(), 'address' => fake()->Address(), 'country' => 'Österreich', diff --git a/database/factories/KontoFactory.php b/database/factories/KontoFactory.php index 4a69d28..6952c05 100644 --- a/database/factories/KontoFactory.php +++ b/database/factories/KontoFactory.php @@ -26,7 +26,6 @@ class KontoFactory extends Factory 'country' => 'Österreich', 'phone' => fake()->PhoneNumber(), 'uid_number' => 'ATU'.fake()->randomNumber(8, true), - 'agb_akzeptiert' => 1, 'plan_id' => fake()->numberBetween(1, 3), 'guthaben' => fake()->numberBetween(4, 50), 'gueltig_bis' => fake()->dateTimeBetween('-1 month', '+5 month'), diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php index ba9ebd6..70cd109 100644 --- a/database/factories/UserFactory.php +++ b/database/factories/UserFactory.php @@ -32,6 +32,7 @@ class UserFactory extends Factory 'email_verified_at' => now(), 'password' => static::$password ??= Hash::make('password'), 'remember_token' => Str::random(10), + 'agb_akzeptiert' => 1, ]; } diff --git a/database/migrations/0001_01_01_000000__create_kontos_table.php b/database/migrations/0001_01_01_000000__create_kontos_table.php index d47e2f9..83c5d43 100644 --- a/database/migrations/0001_01_01_000000__create_kontos_table.php +++ b/database/migrations/0001_01_01_000000__create_kontos_table.php @@ -22,7 +22,6 @@ return new class extends Migration $table->string('country')->nullable(); $table->string('phone')->nullable(); $table->string('uid_number')->nullable(); - $table->boolean('agb_akzeptiert')->default(false); $table->string('plan_id')->default(1); $table->string('guthaben')->default(0); $table->timestamp('gueltig_bis')->nullable(); diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php index 13da842..07bfeea 100644 --- a/database/migrations/0001_01_01_000000_create_users_table.php +++ b/database/migrations/0001_01_01_000000_create_users_table.php @@ -19,6 +19,7 @@ return new class extends Migration $table->string('email')->unique(); $table->timestamp('email_verified_at')->nullable(); $table->string('password'); + $table->boolean('agb_akzeptiert')->default(false); $table->text('app_authentication_secret')->nullable(); $table->text('app_authentication_recovery_codes')->nullable(); diff --git a/database/migrations/2025_09_05_131323_create_gutachter_tables.php b/database/migrations/2025_09_05_131323_create_gutachter_tables.php index 5bd9929..1bf0c8a 100644 --- a/database/migrations/2025_09_05_131323_create_gutachter_tables.php +++ b/database/migrations/2025_09_05_131323_create_gutachter_tables.php @@ -16,7 +16,7 @@ return new class extends Migration $table->foreignId('konto_id')->constrained(); $table->string('name')->nullable(); $table->string('logo')->nullable(); - $table->string('address')->nullable(); + $table->text('address')->nullable(); $table->string('country')->nullable(); $table->string('phone')->nullable(); $table->string('email')->nullable(); diff --git a/database/migrations/2025_10_05_062328_create_auftraggeber_table.php b/database/migrations/2025_10_05_062328_create_auftraggeber_table.php index f9eb136..ccd87f7 100644 --- a/database/migrations/2025_10_05_062328_create_auftraggeber_table.php +++ b/database/migrations/2025_10_05_062328_create_auftraggeber_table.php @@ -14,12 +14,13 @@ return new class extends Migration Schema::create('auftraggebers', function (Blueprint $table) { $table->id(); $table->foreignId('konto_id')->constrained(); - $table->string('name'); - $table->string('logo'); - $table->text('adresse')->nullable(); - $table->string('kontaktperson')->nullable(); + $table->string('name')->nullable(); + $table->string('logo')->nullable(); + $table->text('address')->nullable(); + $table->string('country')->nullable(); + $table->string('kontakt')->nullable(); $table->string('email')->email()->nullable(); - $table->string('telefon')->tel()->nullable(); + $table->string('phone')->tel()->nullable(); $table->timestamps(); }); } diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index a2316ff..c04c0a0 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -2,6 +2,7 @@ namespace Database\Seeders; +use App\Models\Auftraggeber; use App\Models\Gutachter; use App\Models\Konto; use App\Models\User; @@ -15,8 +16,8 @@ class DatabaseSeeder extends Seeder public function run(): void { Konto::factory()->count(10)->create(); - - // Gutachter::factory()->create(30); + Gutachter::factory()->count(30)->create(); + Auftraggeber::factory()->count(30)->create(); $this->call([ OrientierungenSeeder::class, @@ -24,7 +25,7 @@ class DatabaseSeeder extends Seeder RolesAndPermissionsSeeder::class, ]); - User::factory()->count(100)->create(); + User::factory()->count(40)->create(); } } diff --git a/database/seeders/KontoSeeder.php b/database/seeders/KontoSeeder.php index 5702738..c035c08 100644 --- a/database/seeders/KontoSeeder.php +++ b/database/seeders/KontoSeeder.php @@ -12,10 +12,10 @@ class KontoSeeder extends Seeder */ public function run(): void { - $sql = "INSERT INTO `kontos` (`id`, `title`, `gender`, `name`, `company`, `email`, `address`, `location`, `plz`, `country`, `phone`, `uid_number`, `agb_akzeptiert`, `option_id`, `gutachten_zahl`, `gutachten_zeit`, `gutachten_abgeschlossen`, `created_at`, `updated_at`) + $sql = "INSERT INTO `kontos` (`id`, `title`, `gender`, `name`, `company`, `email`, `address`, `location`, `plz`, `country`, `phone`, `uid_number`, `option_id`, `gutachten_zahl`, `gutachten_zeit`, `gutachten_abgeschlossen`, `created_at`, `updated_at`) VALUES - ('1', 'Architekt', 'Herr', 'Hanno Vogl-Fernheim', 'Architekt Vogl-Fernheim', 'office@vogl-fernheim.eu', 'Richardsweg 1', 'Innsbruck', '6020', 'Österreich', '+43 0512 560303', 'ATU 61718733', '1', '1', '1', NULL, '1', NULL, NULL), - ('2', 'Staatl. bef. u. beeideter Ziviltechniker', 'Herr', 'Christoph Falkner', 'Ziviltechniker Christoph Falkner', 'christophfalkner@me.com', 'Adele-Obermayr-Straße 2', 'Innsbruck', '6020', 'Österreich', '+43 650 92210248', 'ATU56874500', '1', '1', '1', NULL, '1', NULL, NULL); + ('1', 'Architekt', 'Herr', 'Hanno Vogl-Fernheim', 'Architekt Vogl-Fernheim', 'office@vogl-fernheim.eu', 'Richardsweg 1', 'Innsbruck', '6020', 'Österreich', '+43 0512 560303', 'ATU 61718733', '1', '1', NULL, '1', NULL, NULL), + ('2', 'Staatl. bef. u. beeideter Ziviltechniker', 'Herr', 'Christoph Falkner', 'Ziviltechniker Christoph Falkner', 'christophfalkner@me.com', 'Adele-Obermayr-Straße 2', 'Innsbruck', '6020', 'Österreich', '+43 650 92210248', 'ATU56874500', '1', '1', NULL, '1', NULL, NULL); "; DB::unprepared($sql); } diff --git a/database/seeders/RolesAndPermissionsSeeder.php b/database/seeders/RolesAndPermissionsSeeder.php index 9da7f7a..729ea73 100644 --- a/database/seeders/RolesAndPermissionsSeeder.php +++ b/database/seeders/RolesAndPermissionsSeeder.php @@ -26,6 +26,7 @@ class RolesAndPermissionsSeeder extends Seeder 'name' => 'Hermann Telser', 'email' => 'ht@webwerkstatt.tirol', 'password' => Hash::make('salam'), + 'agb_akzeptiert' => true, 'app_verified_at' => now(), 'email_verified_at' => now(), ]); @@ -38,6 +39,7 @@ class RolesAndPermissionsSeeder extends Seeder 'name' => 'Yvonne Bormes', 'email' => 'yvonne.bormes@ztkammer.at', 'password' => Hash::make('yvonne'), + 'agb_akzeptiert' => true, 'app_verified_at' => now(), 'email_verified_at' => now(), ]); @@ -49,6 +51,7 @@ class RolesAndPermissionsSeeder extends Seeder 'name' => 'Daniela Mandlez', 'email' => 'daniela.mandkez@kammerwest.at', 'password' => Hash::make('daniela'), + 'agb_akzeptiert' => true, 'app_verified_at' => now(), 'email_verified_at' => now(), ]); diff --git a/public/images/bg.svg b/public/images/bg.svg deleted file mode 100644 index 7d07fac..0000000 --- a/public/images/bg.svg +++ /dev/null @@ -1,88 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/public/images/house2.jpg b/public/images/house2.jpg new file mode 100644 index 0000000..9cb48f5 Binary files /dev/null and b/public/images/house2.jpg differ diff --git a/public/images/bk.jpg b/public/images/klammer.jpg similarity index 100% rename from public/images/bk.jpg rename to public/images/klammer.jpg diff --git a/resources/views/components/login.blade.php b/resources/views/components/login.blade.php index 3fe3307..ca6f6ad 100644 --- a/resources/views/components/login.blade.php +++ b/resources/views/components/login.blade.php @@ -1,8 +1,8 @@ -
- +
+ Anmelden - + Konto eröffnen
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index 447c2b3..0225827 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -27,14 +27,17 @@ - +{{-- --}} + +
@livewire('notifications')
@include('layouts.nav') -
+
@yield('content')
diff --git a/resources/views/layouts/footer.blade.php b/resources/views/layouts/footer.blade.php index 46b3a00..343dfa5 100644 --- a/resources/views/layouts/footer.blade.php +++ b/resources/views/layouts/footer.blade.php @@ -1,6 +1,6 @@
-
+
nutzwerte.at
Software für Architekten
diff --git a/resources/views/layouts/nav.blade.php b/resources/views/layouts/nav.blade.php index 708fc49..16c8656 100644 --- a/resources/views/layouts/nav.blade.php +++ b/resources/views/layouts/nav.blade.php @@ -1,36 +1,36 @@ - diff --git a/resources/views/pages/welcome.blade.php b/resources/views/pages/welcome.blade.php index f773d69..1e73995 100644 --- a/resources/views/pages/welcome.blade.php +++ b/resources/views/pages/welcome.blade.php @@ -1,48 +1,57 @@ @extends('layouts.app') @section('content') -
-
-
- - - - Die Nutzwertberechnung - - - - - ist ein Gutachten im österreichischen Wohnungseigentumsrecht - -

- Es wird das Verhältnis der einzelnen Eigentumsanteile innerhalb eines Gebäudes bestimmt. -

-

- Sie bildet die Grundlage für die Berechnung der Betriebs- und Instandhaltungskosten sowie für - das - Stimmrecht der Miteigentümer und ist für die Begründung von Wohnungseigentum notwendig. -

- - Über die Nutzwertberechnung. - -

- Wie Ihnen dieses Programm bei der Nutzwertberechnung zur Hand gehen kann, erfahren sie hier. -

- - Über dieses Programm - -
-
- @include('components.login') -
-
+
+ {{-- --}} +
+
+ Nutzwertberechnung
einmal anders +
+
+
+ +
+
Das Nutzwertgutachten
+

+ ..ist ein Gutachten im österreichischen Wohnungseigentumsrecht. + Es wird das Verhältnis der einzelnen Eigentumsanteile innerhalb eines Gebäudes bestimmt. + + mehr... + +

+
+
+
+ +
+
Daten Import
+

+ Die Daten werden aus allen gängigen Zeichenprogrammen importieren, und die Objekte werden + angelegt. + + mehr... + +

+
+
+
+ +
+
Berechnung
+

+ Nach dem die Parameter gesetzt wurden ist die + fertige Nutzwertberechnung bereit um als als PDF-Dokument heruntgeladen zu werden. + + mehr... + +

+
+
+
+
+ @include('components.login')
- -
- - -
@endsection