chore: bootstrap module from working instance and add install guide

This commit is contained in:
Kelin Rescue Hub
2026-04-09 14:18:10 -04:00
parent 97ad7da6f4
commit 6cda47760e
35 changed files with 6267 additions and 4 deletions

View File

@@ -0,0 +1,52 @@
<?php
namespace humhub\modules\donations\models;
use humhub\components\ActiveRecord;
class DonationTransaction extends ActiveRecord
{
public const STATUS_PENDING = 'pending';
public const STATUS_SUCCEEDED = 'succeeded';
public const STATUS_FAILED = 'failed';
public const STATUS_CANCELLED = 'cancelled';
public const STATUS_REFUNDED = 'refunded';
public static function tableName()
{
return 'rescue_donation_transaction';
}
public function rules()
{
return [
[['contentcontainer_id', 'provider', 'mode', 'status', 'amount'], 'required'],
[['contentcontainer_id', 'donor_user_id', 'is_anonymous', 'goal_id', 'target_animal_id'], 'integer'],
[['amount'], 'number', 'min' => 0.01],
[['metadata_json'], 'string'],
[['provider', 'status', 'goal_type'], 'string', 'max' => 32],
[['mode'], 'string', 'max' => 16],
[['currency'], 'string', 'max' => 8],
[['provider_payment_id', 'provider_checkout_id', 'provider_subscription_id', 'provider_customer_id'], 'string', 'max' => 190],
];
}
public function beforeSave($insert)
{
if (!parent::beforeSave($insert)) {
return false;
}
$now = date('Y-m-d H:i:s');
if ($insert && empty($this->created_at)) {
$this->created_at = $now;
}
$this->updated_at = $now;
if (empty($this->currency)) {
$this->currency = 'USD';
}
return true;
}
}