agb registrierung wip
This commit is contained in:
1 parent
b5d090cf5e
commit
04e2797667
13 files changed
+343
-68
No files matched your search
@@ -5,11 +5,13 @@ namespace App\Filament\Pages\Auth;
|
||||
use App\Models\Konto;
|
||||
use Danielebarbaro\LaravelVatEuValidator\Rules\VatNumber;
|
||||
use Filament\Auth\Pages\Register as BaseRegister;
|
||||
use Filament\Forms\Components\Checkbox;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\Textarea;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Schemas\Components\Fieldset;
|
||||
use Filament\Schemas\Components\Utilities\Get;
|
||||
use Filament\Schemas\Components\View;
|
||||
use Filament\Schemas\Components\Wizard;
|
||||
use Filament\Schemas\Components\Wizard\Step;
|
||||
use Filament\Schemas\Schema;
|
||||
@@ -36,32 +38,53 @@ class Register extends BaseRegister
|
||||
->icon('lucide-key-square')
|
||||
->description('Mit einem Konto verbinden.')
|
||||
->schema([
|
||||
$this->getKontoFormComponent(),
|
||||
$this->getKontoModusFormComponent(),
|
||||
/** OLD */
|
||||
$this->selectKontoFormComponent(),
|
||||
$this->getKontoFormComponent(),
|
||||
/** NEU */
|
||||
Fieldset::make('Rechnungsdaten')
|
||||
->visible(fn (Get $get): bool => $get('konto') == 'new')
|
||||
->schema([
|
||||
$this->getCompanyFormComponent(),
|
||||
$this->getUIDFormComponent(),
|
||||
$this->getPlaceFormComponent(),
|
||||
$this->getLocationFormComponent(),
|
||||
$this->getPLZFormComponent(),
|
||||
$this->getCountryFormComponent(),
|
||||
$this->getAdresseFormComponent(),
|
||||
$this->getGenderFormComponent(),
|
||||
$this->getFirstNameFormComponent(),
|
||||
$this->getLastNameFormComponent(),
|
||||
$this->getPhoneFormComponent(),
|
||||
$this->getKontoEmailFormComponent(),
|
||||
$this->getPhoneFormComponent(),
|
||||
])->columnSpan(4),
|
||||
|
||||
]),
|
||||
Wizard\Step::make('AGB')
|
||||
->icon('lucide-key-square')
|
||||
->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([
|
||||
$this->getABGFormComponent(),
|
||||
])->columnSpan(4),
|
||||
|
||||
View::make('pages.agb'),
|
||||
]),
|
||||
]),
|
||||
|
||||
]);
|
||||
}
|
||||
|
||||
protected function getABGFormComponent(): Checkbox
|
||||
{
|
||||
return Checkbox::make('agb_akzeptiert')
|
||||
->label('ABG akzeptieren')
|
||||
->visible(fn (Get $get): bool => $get('konto') == 'new')
|
||||
->required();
|
||||
}
|
||||
|
||||
protected function getPhoneFormComponent(): PhoneInput
|
||||
{
|
||||
return PhoneInput::make('phone')
|
||||
@@ -74,16 +97,17 @@ class Register extends BaseRegister
|
||||
{
|
||||
return TextInput::make('country')
|
||||
->label('Land')
|
||||
->placeholder('Österreich')
|
||||
->default('Österreich')
|
||||
->visible(fn (Get $get): bool => $get('konto') == 'new')
|
||||
->required();
|
||||
}
|
||||
|
||||
protected function getKontoEmailFormComponent(): TextInput
|
||||
{
|
||||
return TextInput::make('konto-email')
|
||||
return TextInput::make('kontoemail')
|
||||
->label('E-Mail')
|
||||
->visible(fn (Get $get): bool => $get('konto') == 'new')
|
||||
->unique(table: Konto::class)
|
||||
->required();
|
||||
}
|
||||
|
||||
@@ -95,9 +119,9 @@ class Register extends BaseRegister
|
||||
->required();
|
||||
}
|
||||
|
||||
protected function getPlaceFormComponent(): TextInput
|
||||
protected function getLocationFormComponent(): TextInput
|
||||
{
|
||||
return TextInput::make('place')
|
||||
return TextInput::make('location')
|
||||
->label('Ort')
|
||||
->visible(fn (Get $get): bool => $get('konto') == 'new')
|
||||
->required();
|
||||
@@ -144,17 +168,6 @@ class Register extends BaseRegister
|
||||
->required();
|
||||
}
|
||||
|
||||
protected function getRoleFormComponent(): Select
|
||||
{
|
||||
return Select::make('role')
|
||||
->options([
|
||||
'gutachter' => 'Gutachter',
|
||||
'super_admin' => 'Administrator',
|
||||
])
|
||||
->default('gutachter')
|
||||
->required();
|
||||
}
|
||||
|
||||
protected function getGenderFormComponent(): Select
|
||||
{
|
||||
return Select::make('gender')
|
||||
@@ -169,7 +182,7 @@ class Register extends BaseRegister
|
||||
->required();
|
||||
}
|
||||
|
||||
protected function getKontoFormComponent(): Select
|
||||
protected function getKontoModusFormComponent(): Select
|
||||
{
|
||||
return Select::make('konto')
|
||||
->columnSpan(4)
|
||||
@@ -187,11 +200,14 @@ class Register extends BaseRegister
|
||||
->required();
|
||||
}
|
||||
|
||||
protected function selectKontoFormComponent(): Select
|
||||
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()
|
||||
|
||||
@@ -21,7 +21,7 @@ class KontosTable
|
||||
TextColumn::make('last_name')->label('Nachname'),
|
||||
TextColumn::make('company')->label('Firma'),
|
||||
TextColumn::make('address')->label('Adresse'),
|
||||
TextColumn::make('place')->label('Ort'),
|
||||
TextColumn::make('location')->label('Ort'),
|
||||
TextColumn::make('code')->label('PLZ'),
|
||||
TextColumn::make('phone')->label('Telefon'),
|
||||
TextColumn::make('uid_number')->label('UID Nummer'),
|
||||
|
||||
@@ -7,6 +7,25 @@ use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Konto extends Model
|
||||
{
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var list<string>
|
||||
*/
|
||||
protected $fillable = [
|
||||
'title',
|
||||
'gender',
|
||||
'first_name',
|
||||
'last_name',
|
||||
'company',
|
||||
'address',
|
||||
'location',
|
||||
'code',
|
||||
'country',
|
||||
'kontoemail',
|
||||
'phone',
|
||||
'uid_number',
|
||||
];
|
||||
// protected static function booted(): void
|
||||
// {
|
||||
// static::addGlobalScope('konto', function (Builder $query) {
|
||||
|
||||
+11
-2
@@ -27,6 +27,8 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'first_name',
|
||||
'last_name',
|
||||
'email',
|
||||
'konto_id',
|
||||
'password',
|
||||
@@ -36,12 +38,16 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication
|
||||
'first_name',
|
||||
'last_name',
|
||||
'gender',
|
||||
|
||||
'title',
|
||||
'company',
|
||||
'uid_number',
|
||||
'address',
|
||||
'place',
|
||||
'location',
|
||||
'code',
|
||||
'country',
|
||||
'kontoemail',
|
||||
'phone',
|
||||
'uid_number',
|
||||
];
|
||||
|
||||
/**
|
||||
@@ -78,6 +84,9 @@ class User extends Authenticatable implements FilamentUser, HasAppAuthentication
|
||||
static::addGlobalScope(new KontoScope);
|
||||
|
||||
static::creating(function (User $user) {
|
||||
|
||||
dd($user);
|
||||
|
||||
$user->role = 'gutachter';
|
||||
});
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ class AppServiceProvider extends ServiceProvider
|
||||
'danger' => Color::Red,
|
||||
'gray' => Color::Zinc,
|
||||
'info' => Color::Indigo,
|
||||
'primary' => Color::Yellow,
|
||||
'primary' => Color::Blue,
|
||||
'success' => Color::Green,
|
||||
'warning' => Color::Amber,
|
||||
]);
|
||||
|
||||
Generated
+21
-21
@@ -671,16 +671,16 @@
|
||||
},
|
||||
{
|
||||
"name": "chillerlan/php-qrcode",
|
||||
"version": "5.0.3",
|
||||
"version": "5.0.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/chillerlan/php-qrcode.git",
|
||||
"reference": "42e215640e9ebdd857570c9e4e52245d1ee51de2"
|
||||
"reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/42e215640e9ebdd857570c9e4e52245d1ee51de2",
|
||||
"reference": "42e215640e9ebdd857570c9e4e52245d1ee51de2",
|
||||
"url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/390393e97a6e42ccae0e0d6205b8d4200f7ddc43",
|
||||
"reference": "390393e97a6e42ccae0e0d6205b8d4200f7ddc43",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -691,13 +691,13 @@
|
||||
"require-dev": {
|
||||
"chillerlan/php-authenticator": "^4.3.1 || ^5.2.1",
|
||||
"ext-fileinfo": "*",
|
||||
"phan/phan": "^5.4.5",
|
||||
"phan/phan": "^5.5.1",
|
||||
"phpcompatibility/php-compatibility": "10.x-dev",
|
||||
"phpmd/phpmd": "^2.15",
|
||||
"phpunit/phpunit": "^9.6",
|
||||
"setasign/fpdf": "^1.8.2",
|
||||
"slevomat/coding-standard": "^8.15",
|
||||
"squizlabs/php_codesniffer": "^3.11"
|
||||
"slevomat/coding-standard": "^8.23.0",
|
||||
"squizlabs/php_codesniffer": "^4.0.0"
|
||||
},
|
||||
"suggest": {
|
||||
"chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.",
|
||||
@@ -760,7 +760,7 @@
|
||||
"type": "Ko-Fi"
|
||||
}
|
||||
],
|
||||
"time": "2024-11-21T16:12:34+00:00"
|
||||
"time": "2025-09-19T17:30:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "chillerlan/php-settings-container",
|
||||
@@ -4783,21 +4783,21 @@
|
||||
},
|
||||
{
|
||||
"name": "pragmarx/google2fa-qrcode",
|
||||
"version": "v3.0.0",
|
||||
"version": "v3.0.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/antonioribeiro/google2fa-qrcode.git",
|
||||
"reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b"
|
||||
"reference": "c23ebcc3a50de0d1566016a6dd1486e183bb78e1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/ce4d8a729b6c93741c607cfb2217acfffb5bf76b",
|
||||
"reference": "ce4d8a729b6c93741c607cfb2217acfffb5bf76b",
|
||||
"url": "https://api.github.com/repos/antonioribeiro/google2fa-qrcode/zipball/c23ebcc3a50de0d1566016a6dd1486e183bb78e1",
|
||||
"reference": "c23ebcc3a50de0d1566016a6dd1486e183bb78e1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=7.1",
|
||||
"pragmarx/google2fa": ">=4.0"
|
||||
"pragmarx/google2fa": "^4.0|^5.0|^6.0|^7.0|^8.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"bacon/bacon-qr-code": "^2.0",
|
||||
@@ -4844,9 +4844,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/antonioribeiro/google2fa-qrcode/issues",
|
||||
"source": "https://github.com/antonioribeiro/google2fa-qrcode/tree/v3.0.0"
|
||||
"source": "https://github.com/antonioribeiro/google2fa-qrcode/tree/v3.0.1"
|
||||
},
|
||||
"time": "2021-08-15T12:53:48+00:00"
|
||||
"time": "2025-09-19T23:02:26+00:00"
|
||||
},
|
||||
{
|
||||
"name": "propaganistas/laravel-phone",
|
||||
@@ -5334,16 +5334,16 @@
|
||||
},
|
||||
{
|
||||
"name": "psy/psysh",
|
||||
"version": "v0.12.10",
|
||||
"version": "v0.12.12",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/bobthecow/psysh.git",
|
||||
"reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22"
|
||||
"reference": "cd23863404a40ccfaf733e3af4db2b459837f7e7"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/6e80abe6f2257121f1eb9a4c55bf29d921025b22",
|
||||
"reference": "6e80abe6f2257121f1eb9a4c55bf29d921025b22",
|
||||
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/cd23863404a40ccfaf733e3af4db2b459837f7e7",
|
||||
"reference": "cd23863404a40ccfaf733e3af4db2b459837f7e7",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5406,9 +5406,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/bobthecow/psysh/issues",
|
||||
"source": "https://github.com/bobthecow/psysh/tree/v0.12.10"
|
||||
"source": "https://github.com/bobthecow/psysh/tree/v0.12.12"
|
||||
},
|
||||
"time": "2025-08-04T12:39:37+00:00"
|
||||
"time": "2025-09-20T13:46:31+00:00"
|
||||
},
|
||||
{
|
||||
"name": "ralouphie/getallheaders",
|
||||
|
||||
@@ -18,11 +18,11 @@ return new class extends Migration
|
||||
$table->string('first_name');
|
||||
$table->string('last_name');
|
||||
$table->string('company');
|
||||
$table->string('kontoemail')->nullable();
|
||||
$table->string('address')->nullable();
|
||||
$table->string('place')->nullable();
|
||||
$table->string('location')->nullable();
|
||||
$table->string('code')->nullable();
|
||||
$table->string('country')->nullable();
|
||||
$table->string('konto-email')->nullable();
|
||||
$table->string('phone')->nullable();
|
||||
$table->string('uid_number')->nullable();
|
||||
$table->timestamps();
|
||||
|
||||
@@ -16,9 +16,12 @@ return new class extends Migration
|
||||
$table->foreignId('konto_id')->constrained()->cascadeOnDelete()->default(0);
|
||||
$table->string('gender')->nullable();
|
||||
$table->string('name');
|
||||
$table->string('first_name');
|
||||
$table->string('last_name');
|
||||
$table->string('email')->unique();
|
||||
$table->timestamp('email_verified_at')->nullable();
|
||||
$table->string('password');
|
||||
$table->string('role');
|
||||
$table->boolean('super_admin')->default(0);
|
||||
|
||||
$table->text('app_authentication_secret')->nullable();
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
return new class extends Migration
|
||||
{
|
||||
/**
|
||||
* Run the migrations.
|
||||
*/
|
||||
public function up(): void
|
||||
{
|
||||
Schema::create('users', function (Blueprint $table) {
|
||||
$table->string('role')->nullable()->after('password');
|
||||
});
|
||||
}
|
||||
};
|
||||
@@ -17,7 +17,7 @@ return new class extends Migration
|
||||
$table->string('name')->nullable();
|
||||
$table->string('logo')->nullable();
|
||||
$table->string('address')->nullable();
|
||||
$table->string('place')->nullable();
|
||||
$table->string('location')->nullable();
|
||||
$table->string('code')->nullable();
|
||||
$table->string('phone')->nullable();
|
||||
$table->timestamp('deleted_at')->nullable();
|
||||
|
||||
@@ -12,7 +12,7 @@ class KontoSeeder extends Seeder
|
||||
*/
|
||||
public function run(): void
|
||||
{
|
||||
$sql = "INSERT INTO `kontos` (`id`, `title`, `gender`, `first_name`, `last_name`, `company`, `address`, `place`, `code`, `phone`, `uid_number`)
|
||||
$sql = "INSERT INTO `kontos` (`id`, `title`, `gender`, `first_name`, `last_name`, `company`, `address`, `location`, `code`, `phone`, `uid_number`)
|
||||
VALUES
|
||||
('1', 'Architekt', 'Herr','Bruno','Kunz','Architekt Kunz','Pradlerstraße 11','Innbsruck', '6020', '0512 457328', 'ATU 234578'),
|
||||
('2', 'Architekt', 'Herr','Sepp','Unterlugauer','Architekt Unterlugauer','Seestraße 1','Innbsruck', '6020', '0512 457328', 'ATU 234578');
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
<x-filament-panels::page>
|
||||
{{-- Page content --}}
|
||||
</x-filament-panels::page>
|
||||
@@ -0,0 +1,243 @@
|
||||
<div class="flex flex-col gap-3">
|
||||
<x-title>
|
||||
Allgemeine Geschäftsbedingungen (AGB)
|
||||
</x-title>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
1. Geltungsbereich
|
||||
</x-slot>
|
||||
Diese Allgemeinen Geschäftsbedingungen (AGB) regeln die Nutzung der SaaS-Anwendung zur Nutzwertberechnung für
|
||||
Architekten (nachfolgend „Software“ oder „Dienstleistung“) der [Dein Unternehmen] (nachfolgend „Anbieter“, „wir“
|
||||
oder „uns“). Mit der Nutzung der Software erklärt sich der Nutzer (nachfolgend „Kunde“ oder „Sie“) mit diesen
|
||||
AGB einverstanden.
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
2. Vertragsgegenstand
|
||||
</x-slot>
|
||||
Der Anbieter stellt dem Kunden eine webbasierte Software zur Verfügung, mit der der Kunde die Nutzwertberechnung
|
||||
für Bauprojekte durchführen kann. Die Software wird als Software-as-a-Service (SaaS) angeboten, die über das
|
||||
Internet zugänglich ist.
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
3. Nutzungsrechte
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Anbieter gewährt dem Kunden ein nicht-exklusives, nicht übertragbares, zeitlich begrenztes Recht
|
||||
zur Nutzung
|
||||
der Software gemäß den Bestimmungen dieses Vertrages.
|
||||
</li>
|
||||
<li>
|
||||
Der Kunde darf die Software nur im Rahmen der vertraglich vorgesehenen Nutzung verwenden. Jegliche
|
||||
kommerzielle
|
||||
Weiterverbreitung oder -verwertung der Software ist untersagt.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
5. Leistungen des Anbieters
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Um die Software zu nutzen, muss sich der Kunde auf der Website des Anbieters registrieren und ein
|
||||
Benutzerkonto
|
||||
anlegen. Der Kunde ist verpflichtet, wahrheitsgemäße und vollständige Angaben zu machen.
|
||||
</li>
|
||||
<li>
|
||||
Der Kunde ist verantwortlich für die Sicherheit seiner Zugangsdaten (Benutzername und Passwort) und hat
|
||||
sicherzustellen, dass diese nicht an Dritte weitergegeben werden. Im Falle eines Missbrauchs der
|
||||
Zugangsdaten ist der Kunde verpflichtet, den Anbieter unverzüglich zu informieren.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
4. Registrierung und Zugangsdaten
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Anbieter stellt die Software in der jeweils aktuellsten Version zur Verfügung und gewährleistet eine
|
||||
betriebsbereite Anwendung, vorbehaltlich geplanter Wartungsarbeiten und unvorhersehbarer
|
||||
Systemstörungen.
|
||||
</li>
|
||||
<li>
|
||||
Der Anbieter kann jederzeit Funktionen der Software ändern, erweitern oder entfernen, wenn dies im
|
||||
Interesse der
|
||||
Verbesserung der Software liegt oder aus rechtlichen bzw. technischen Gründen notwendig ist. Der Kunde
|
||||
wird über
|
||||
wesentliche Änderungen rechtzeitig informiert.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
6. Verfügbarkeit und Wartung
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Anbieter verpflichtet sich zu einer Verfügbarkeit der Software von 99% pro Jahr, mit Ausnahme
|
||||
geplanter
|
||||
Wartungsfenster und unvorhergesehener technischer Störungen. Der Anbieter wird sich bemühen, geplante
|
||||
Wartungsarbeiten außerhalb der üblichen Arbeitszeiten durchzuführen und diese dem Kunden im Voraus
|
||||
mitzuteilen.
|
||||
</li>
|
||||
<li>
|
||||
Im Falle von Störungen oder Ausfällen wird der Anbieter umgehend Maßnahmen ergreifen, um den Betrieb der
|
||||
Software
|
||||
wiederherzustellen.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
7. Gebühren und Zahlungsbedingungen
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Die Nutzung der Software ist kostenpflichtig. Die Preise und Zahlungsbedingungen sind im jeweiligen
|
||||
Vertrag oder
|
||||
auf der Website des Anbieters einsehbar.
|
||||
</li>
|
||||
<li>
|
||||
Die Zahlung erfolgt nach den im Vertrag vereinbarten Modalitäten, z. B. monatlich oder jährlich, im
|
||||
Voraus.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
7. Gebühren und Zahlungsbedingungen
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Die Nutzung der Software ist kostenpflichtig. Die Preise und Zahlungsbedingungen sind im jeweiligen
|
||||
Vertrag oder
|
||||
auf der Website des Anbieters einsehbar.
|
||||
</li>
|
||||
<li>
|
||||
Die Zahlung erfolgt nach den im Vertrag vereinbarten Modalitäten, z. B. monatlich oder jährlich, im
|
||||
Voraus.
|
||||
</li>
|
||||
<li>
|
||||
Bei Zahlungsverzug behält sich der Anbieter das Recht vor, den Zugang zur Software zu sperren oder den
|
||||
Vertrag
|
||||
fristlos zu kündigen.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
8. Rechte an den Daten
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Kunde bleibt Eigentümer aller Daten, die er in die Software eingibt (z. B. Berechnungen,
|
||||
Projektinformationen). Der Anbieter erhält lediglich das Recht, diese Daten im Rahmen der Nutzung der
|
||||
Software zu
|
||||
verarbeiten.
|
||||
</li>
|
||||
<li>
|
||||
Der Anbieter verpflichtet sich, die Daten des Kunden vertraulich zu behandeln und nur im Einklang mit
|
||||
den
|
||||
geltenden Datenschutzgesetzen zu verwenden. Der Anbieter wird die Daten nicht ohne Zustimmung des Kunden
|
||||
an Dritte
|
||||
weitergeben, es sei denn, dies ist gesetzlich erforderlich.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
9. Haftung und Gewährleistung
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Anbieter haftet nur für Schäden, die durch vorsätzliche oder grob fahrlässige Handlungen verursacht
|
||||
wurden.
|
||||
Eine Haftung für leichte Fahrlässigkeit ist ausgeschlossen, es sei denn, es handelt sich um die
|
||||
Verletzung
|
||||
wesentlicher Vertragspflichten.
|
||||
</li>
|
||||
<li>
|
||||
Der Anbieter übernimmt keine Haftung für die Richtigkeit der Berechnungen, die durch die Software
|
||||
durchgeführt
|
||||
werden. Der Kunde ist verpflichtet, die Ergebnisse vor der Verwendung zu überprüfen.
|
||||
</li>
|
||||
<li>
|
||||
Der Anbieter übernimmt keine Haftung für Schäden, die durch unsachgemäße Nutzung der Software durch den
|
||||
Kunden
|
||||
entstehen.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
10. Datenschutz
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Anbieter verpflichtet sich, alle gesetzlichen Bestimmungen zum Datenschutz zu beachten. Weitere
|
||||
Informationen
|
||||
zum Datenschutz sind in der Datenschutzerklärung des Anbieters einsehbar.
|
||||
</li>
|
||||
<li>
|
||||
Der Kunde erklärt sich mit der Verarbeitung seiner Daten durch den Anbieter im Rahmen der Nutzung der
|
||||
Software
|
||||
einverstanden. Der Kunde hat jederzeit das Recht, auf seine gespeicherten Daten zuzugreifen, diese zu
|
||||
berichtigen
|
||||
oder zu löschen.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
11. Laufzeit und Kündigung
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Vertrag wird auf unbestimmte Zeit geschlossen, es sei denn, eine feste Laufzeit wurde vereinbart.
|
||||
</li>
|
||||
<li>
|
||||
Der Vertrag kann von beiden Parteien jederzeit mit einer Frist von 30 Tagen schriftlich gekündigt
|
||||
werden.
|
||||
</li>
|
||||
<li>Das Recht zur außerordentlichen Kündigung aus wichtigem Grund bleibt unberührt.</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
12. Änderungen der AGB
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Der Anbieter behält sich das Recht vor, diese AGB jederzeit zu ändern. Änderungen werden dem Kunden per
|
||||
E-Mail
|
||||
oder über die Software selbst mitgeteilt.
|
||||
</li>
|
||||
<li>
|
||||
Die Änderungen gelten als akzeptiert, wenn der Kunde die Software nach der Mitteilung weiterhin nutzt
|
||||
oder nicht
|
||||
innerhalb von 30 Tagen nach Erhalt der Mitteilung widerspricht.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
<x-filament::section>
|
||||
<x-slot name="heading">
|
||||
13. Schlussbestimmungen
|
||||
</x-slot>
|
||||
<ol class="list-[lower-alpha]">
|
||||
<li>
|
||||
Auf diesen Vertrag ist deutsches Recht anwendbar. Gerichtsstand ist, soweit gesetzlich zulässig, der
|
||||
Sitz des
|
||||
Anbieters.
|
||||
</li>
|
||||
<li>
|
||||
Sollten einzelne Bestimmungen dieses Vertrages unwirksam oder undurchführbar sein, bleibt der Vertrag im
|
||||
Übrigen
|
||||
wirksam.
|
||||
</li>
|
||||
</ol>
|
||||
</x-filament::section>
|
||||
</div>
|
||||
Reference in new issue
Block a user