fixing setup form
This commit is contained in:
parent
be707683ba
commit
9f8d42862c
45
db/migrations/2026-04-21_wablas_templates_seed.sql
Normal file
45
db/migrations/2026-04-21_wablas_templates_seed.sql
Normal file
@ -0,0 +1,45 @@
|
||||
-- Seed default WhatsApp / Wablas order templates for existing installs.
|
||||
-- Safe to import in phpMyAdmin multiple times; existing non-empty values are preserved.
|
||||
|
||||
INSERT IGNORE INTO settings (setting_key, setting_value) VALUES
|
||||
('wablas_template_created', ''),
|
||||
('wablas_template_pending', ''),
|
||||
('wablas_template_accepted', ''),
|
||||
('wablas_template_completed', ''),
|
||||
('wablas_template_rejected', '');
|
||||
|
||||
UPDATE settings
|
||||
SET setting_value = 'مرحباً {customer_name}، تم استلام طلبك رقم #{order_id}.
|
||||
الحالة: {status_label}
|
||||
الإجمالي: {total_amount}
|
||||
العنوان: {customer_address}
|
||||
شكراً لتسوقك معنا.'
|
||||
WHERE setting_key = 'wablas_template_created'
|
||||
AND (setting_value IS NULL OR TRIM(setting_value) = '');
|
||||
|
||||
UPDATE settings
|
||||
SET setting_value = 'مرحباً {customer_name}، طلبك رقم #{order_id} ما زال {status_label}.
|
||||
الإجمالي: {total_amount}
|
||||
سنوافيك بأي تحديث جديد.'
|
||||
WHERE setting_key = 'wablas_template_pending'
|
||||
AND (setting_value IS NULL OR TRIM(setting_value) = '');
|
||||
|
||||
UPDATE settings
|
||||
SET setting_value = 'مرحباً {customer_name}، تم قبول طلبك رقم #{order_id}.
|
||||
الإجمالي: {total_amount}
|
||||
سنبدأ التجهيز الآن.'
|
||||
WHERE setting_key = 'wablas_template_accepted'
|
||||
AND (setting_value IS NULL OR TRIM(setting_value) = '');
|
||||
|
||||
UPDATE settings
|
||||
SET setting_value = 'مرحباً {customer_name}، طلبك رقم #{order_id} أصبح {status_label}.
|
||||
الإجمالي: {total_amount}
|
||||
شكراً لك.'
|
||||
WHERE setting_key = 'wablas_template_completed'
|
||||
AND (setting_value IS NULL OR TRIM(setting_value) = '');
|
||||
|
||||
UPDATE settings
|
||||
SET setting_value = 'مرحباً {customer_name}، نعتذر، تم تحديث طلبك رقم #{order_id} إلى {status_label}.
|
||||
إذا رغبت بالمساعدة تواصل معنا.'
|
||||
WHERE setting_key = 'wablas_template_rejected'
|
||||
AND (setting_value IS NULL OR TRIM(setting_value) = '');
|
||||
@ -8,7 +8,7 @@
|
||||
<h5 class="modal-title"><?= h(tr('إعدادات الشركة', 'Company Settings')) ?></h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="modal-body pb-2">
|
||||
<ul class="nav nav-tabs mb-4" id="settingsTabs" role="tablist">
|
||||
<li class="nav-item" role="presentation">
|
||||
<button class="nav-link active" id="settings-company-tab" data-bs-toggle="tab" data-bs-target="#settings-company-pane" type="button" role="tab" aria-controls="settings-company-pane" aria-selected="true">
|
||||
@ -92,7 +92,7 @@
|
||||
|
||||
<div class="tab-pane fade" id="settings-wablas-pane" role="tabpanel" aria-labelledby="settings-wablas-tab" tabindex="0">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-12">
|
||||
<div class="col-12">
|
||||
<div class="d-flex flex-column flex-lg-row justify-content-between align-items-lg-center gap-3 border rounded-4 px-4 py-3 bg-light">
|
||||
<div>
|
||||
<h6 class="mb-1 fw-bold"><?= h(tr('إعدادات واتساب Wablas', 'Wablas WhatsApp Settings')) ?></h6>
|
||||
@ -106,15 +106,25 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('Wablas Token', 'Wablas Token')) ?></label>
|
||||
<input type="text" class="form-control" name="wablas_token" value="<?= h(get_setting('wablas_token')) ?>">
|
||||
|
||||
<div class="col-12">
|
||||
<div class="card border-0 shadow-sm">
|
||||
<div class="card-body">
|
||||
<div class="row g-3">
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('Wablas Token', 'Wablas Token')) ?></label>
|
||||
<input type="text" class="form-control" name="wablas_token" value="<?= h(get_setting('wablas_token')) ?>">
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('Wablas Secret Key', 'Wablas Secret Key')) ?></label>
|
||||
<input type="password" class="form-control" name="wablas_secret_key" value="<?= h(get_setting('wablas_secret_key')) ?>">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('Wablas Secret Key', 'Wablas Secret Key')) ?></label>
|
||||
<input type="password" class="form-control" name="wablas_secret_key" value="<?= h(get_setting('wablas_secret_key')) ?>">
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="col-12">
|
||||
<div class="card border-0 shadow-sm bg-light-subtle">
|
||||
<div class="card-body">
|
||||
<div class="d-flex flex-column flex-md-row justify-content-between align-items-md-center gap-2 mb-3">
|
||||
@ -142,25 +152,47 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<label class="form-label"><?= h(tr('قالب رسالة إنشاء الطلب', 'Order Created Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_created" rows="3"><?= h(get_setting('wablas_template_created', wablas_default_order_template('created'))) ?></textarea>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="card border-0 shadow-sm">
|
||||
<div class="card-body">
|
||||
<div class="d-flex flex-column flex-lg-row justify-content-between align-items-lg-center gap-2 mb-3">
|
||||
<div>
|
||||
<h6 class="fw-bold mb-1"><?= h(tr('قوالب إشعارات الطلبات', 'Order Notification Templates')) ?></h6>
|
||||
<p class="text-muted small mb-0"><?= h(tr('اترك أي حقل فارغاً وسيستخدم النظام القالب الافتراضي له تلقائياً.', 'Leave any field empty and the app will automatically use its built-in default template.')) ?></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row g-3">
|
||||
<div class="col-12">
|
||||
<label class="form-label"><?= h(tr('قالب رسالة إنشاء الطلب', 'Order Created Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_created" rows="4"><?= h(get_setting('wablas_template_created', wablas_default_order_template('created'))) ?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب قيد الانتظار', 'Pending Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_pending" rows="4"><?= h(get_setting('wablas_template_pending', wablas_default_order_template('pending'))) ?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب مقبول', 'Accepted Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_accepted" rows="4"><?= h(get_setting('wablas_template_accepted', wablas_default_order_template('accepted'))) ?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب مكتمل', 'Completed Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_completed" rows="4"><?= h(get_setting('wablas_template_completed', wablas_default_order_template('completed'))) ?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب مرفوض', 'Rejected Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_rejected" rows="4"><?= h(get_setting('wablas_template_rejected', wablas_default_order_template('rejected'))) ?></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب قيد الانتظار', 'Pending Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_pending" rows="3"><?= h(get_setting('wablas_template_pending', wablas_default_order_template('pending'))) ?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب مقبول', 'Accepted Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_accepted" rows="3"><?= h(get_setting('wablas_template_accepted', wablas_default_order_template('accepted'))) ?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب مكتمل', 'Completed Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_completed" rows="3"><?= h(get_setting('wablas_template_completed', wablas_default_order_template('completed'))) ?></textarea>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<label class="form-label"><?= h(tr('قالب مرفوض', 'Rejected Template')) ?></label>
|
||||
<textarea class="form-control" name="wablas_template_rejected" rows="3"><?= h(get_setting('wablas_template_rejected', wablas_default_order_template('rejected'))) ?></textarea>
|
||||
|
||||
<div class="col-12">
|
||||
<div class="position-sticky bottom-0 bg-white border-top rounded-3 px-3 py-3 d-flex justify-content-end gap-2" style="z-index: 2;">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal"><?= h(tr('إلغاء', 'Cancel')) ?></button>
|
||||
<button type="submit" class="btn btn-primary"><?= h(tr('حفظ التغييرات', 'Save Changes')) ?></button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user