feat(Import members from Dolibarr)

This commit is contained in:
2025-11-15 17:09:56 +01:00
parent de5e81fe22
commit f796f2c658
7 changed files with 195 additions and 49 deletions

View File

@@ -11,13 +11,16 @@ use Illuminate\Notifications\Notifiable;
/**
* @property int $id
* @property int|null $user_id
* @property string|null $dolibarr_id
* @property string|null $keycloak_id
* @property string $status
* @property string $nature
* @property int|null $type_id
* @property int|null $group_id
* @property string|null $lastname
* @property string|null $firstname
* @property string $email
* @property string|null $retzien_email
* @property string|null $company
* @property string|null $date_of_birth
* @property string|null $address
@@ -27,6 +30,7 @@ use Illuminate\Notifications\Notifiable;
* @property string|null $phone1
* @property string|null $phone2
* @property int $public_membership
* @property string|null $website_url
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property string|null $deleted_at
@@ -34,6 +38,8 @@ use Illuminate\Notifications\Notifiable;
* @property-read \App\Models\MemberGroup|null $group
* @property-read \Illuminate\Database\Eloquent\Collection<int, \App\Models\Membership> $memberships
* @property-read int|null $memberships_count
* @property-read \Illuminate\Notifications\DatabaseNotificationCollection<int, \Illuminate\Notifications\DatabaseNotification> $notifications
* @property-read int|null $notifications_count
* @property-read \App\Models\User|null $user
* @method static \Database\Factories\MemberFactory factory($count = null, $state = [])
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member newModelQuery()
@@ -46,6 +52,7 @@ use Illuminate\Notifications\Notifiable;
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereDateOfBirth($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereDeletedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereDolibarrId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereFirstname($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereGroupId($value)
@@ -56,9 +63,12 @@ use Illuminate\Notifications\Notifiable;
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member wherePhone1($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member wherePhone2($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member wherePublicMembership($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereRetzienEmail($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereTypeId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereWebsiteUrl($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Member whereZipcode($value)
* @mixin \Eloquent
*/
@@ -67,9 +77,11 @@ class Member extends Model
use HasFactory, Notifiable;
protected $fillable = [
'user_id',
'dolibarr_id',
'keycloak_id',
'status',
'nature',
'type_id',
'group_id',
'lastname',
'firstname',
@@ -83,9 +95,7 @@ class Member extends Model
'phone1',
'phone2',
'public_membership',
'package_id',
'amount',
'payment_status'
'website_url'
];
public static function getAttributeLabel(string $attribute): string

View File

@@ -13,11 +13,17 @@ use Illuminate\Database\Eloquent\Relations\HasOne;
* @property int $member_id
* @property int|null $admin_id
* @property int $package_id
* @property string $start_date
* @property string|null $start_date
* @property string|null $end_date
* @property string $status
* @property string|null $validation_date
* @property string|null $payment_method
* @property string $amount
* @property string $payment_status
* @property string|null $note_public
* @property string|null $note_private
* @property string|null $dolibarr_id
* @property string|null $dolibarr_user_id
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
* @property string|null $deleted_at
@@ -33,14 +39,20 @@ use Illuminate\Database\Eloquent\Relations\HasOne;
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereAmount($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereDeletedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereDolibarrId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereDolibarrUserId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereEndDate($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereMemberId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereNotePrivate($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereNotePublic($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership wherePackageId($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership wherePaymentMethod($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership wherePaymentStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereStartDate($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereStatus($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder<static>|Membership whereValidationDate($value)
* @mixin \Eloquent
*/
class Membership extends Model
@@ -52,8 +64,14 @@ class Membership extends Model
'start_date',
'end_date',
'status',
'validation_date',
'payment_method',
'amount',
'payment_status',
'note_public',
'note_private',
'dolibarr_id',
'dolibarr_user_id'
];