update departments
This commit is contained in:
parent
5f99108a0d
commit
0690a23bb7
@ -269,11 +269,21 @@ if (isset($_GET['ajax_search'])) {
|
|||||||
<div class="modal-body p-4">
|
<div class="modal-body p-4">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label"><?php echo __('name_en'); ?> <span class="text-danger">*</span></label>
|
<label class="form-label"><?php echo __('name_en'); ?> <span class="text-danger">*</span></label>
|
||||||
<input type="text" class="form-control" name="name_en" id="deptNameEn" required>
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control" name="name_en" id="deptNameEn" required>
|
||||||
|
<button type="button" class="btn btn-outline-secondary" onclick="translateDepartment('en', 'ar')" title="<?php echo __('auto_translate'); ?>">
|
||||||
|
<i class="bi bi-translate"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label"><?php echo __('name_ar'); ?> <span class="text-danger">*</span></label>
|
<label class="form-label"><?php echo __('name_ar'); ?> <span class="text-danger">*</span></label>
|
||||||
<input type="text" class="form-control" name="name_ar" id="deptNameAr" required>
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control" name="name_ar" id="deptNameAr" required>
|
||||||
|
<button type="button" class="btn btn-outline-secondary" onclick="translateDepartment('ar', 'en')" title="<?php echo __('auto_translate'); ?>">
|
||||||
|
<i class="bi bi-translate"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3 form-check">
|
<div class="mb-3 form-check">
|
||||||
<input type="checkbox" class="form-check-input" name="show_in_queue" id="deptShowInQueue" value="1" checked>
|
<input type="checkbox" class="form-check-input" name="show_in_queue" id="deptShowInQueue" value="1" checked>
|
||||||
@ -405,4 +415,39 @@ function showDeleteDepartmentModal(id) {
|
|||||||
var modal = new bootstrap.Modal(document.getElementById('deleteDepartmentModal'));
|
var modal = new bootstrap.Modal(document.getElementById('deleteDepartmentModal'));
|
||||||
modal.show();
|
modal.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function translateDepartment(source, target) {
|
||||||
|
const text = document.getElementById(source === 'en' ? 'deptNameEn' : 'deptNameAr').value;
|
||||||
|
if (!text) return;
|
||||||
|
|
||||||
|
const btn = event.currentTarget;
|
||||||
|
const originalContent = btn.innerHTML;
|
||||||
|
btn.disabled = true;
|
||||||
|
btn.innerHTML = '<span class="spinner-border spinner-border-sm"></span>';
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await fetch('api/ai_report.php', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {'Content-Type': 'application/json'},
|
||||||
|
body: JSON.stringify({
|
||||||
|
target: 'translate',
|
||||||
|
text: text,
|
||||||
|
from: source === 'en' ? 'English' : 'Arabic',
|
||||||
|
to: target === 'en' ? 'English' : 'Arabic'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
const data = await response.json();
|
||||||
|
if (data.success) {
|
||||||
|
document.getElementById(target === 'en' ? 'deptNameEn' : 'deptNameAr').value = data.report;
|
||||||
|
} else {
|
||||||
|
alert('Translation failed: ' + (data.error || 'Unknown error'));
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
alert('Network error');
|
||||||
|
} finally {
|
||||||
|
btn.disabled = false;
|
||||||
|
btn.innerHTML = originalContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
@ -257,11 +257,21 @@ if (isset($_GET['ajax_search'])) {
|
|||||||
<div class="modal-body p-4">
|
<div class="modal-body p-4">
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label"><?php echo __('name_en'); ?> <span class="text-danger">*</span></label>
|
<label class="form-label"><?php echo __('name_en'); ?> <span class="text-danger">*</span></label>
|
||||||
<input type="text" class="form-control" name="name_en" id="positionNameEn" required>
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control" name="name_en" id="positionNameEn" required>
|
||||||
|
<button type="button" class="btn btn-outline-secondary" onclick="translatePosition('en', 'ar')" title="<?php echo __('auto_translate'); ?>">
|
||||||
|
<i class="bi bi-translate"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label"><?php echo __('name_ar'); ?> <span class="text-danger">*</span></label>
|
<label class="form-label"><?php echo __('name_ar'); ?> <span class="text-danger">*</span></label>
|
||||||
<input type="text" class="form-control" name="name_ar" id="positionNameAr" required>
|
<div class="input-group">
|
||||||
|
<input type="text" class="form-control" name="name_ar" id="positionNameAr" required>
|
||||||
|
<button type="button" class="btn btn-outline-secondary" onclick="translatePosition('ar', 'en')" title="<?php echo __('auto_translate'); ?>">
|
||||||
|
<i class="bi bi-translate"></i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="mb-3">
|
<div class="mb-3">
|
||||||
<label class="form-label"><?php echo __('description_en'); ?></label>
|
<label class="form-label"><?php echo __('description_en'); ?></label>
|
||||||
@ -399,4 +409,39 @@ function showDeletePositionModal(id) {
|
|||||||
var modal = new bootstrap.Modal(document.getElementById('deletePositionModal'));
|
var modal = new bootstrap.Modal(document.getElementById('deletePositionModal'));
|
||||||
modal.show();
|
modal.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async function translatePosition(source, target) {
|
||||||
|
const text = document.getElementById(source === 'en' ? 'positionNameEn' : 'positionNameAr').value;
|
||||||
|
if (!text) return;
|
||||||
|
|
||||||
|
const btn = event.currentTarget;
|
||||||
|
const originalContent = btn.innerHTML;
|
||||||
|
btn.disabled = true;
|
||||||
|
btn.innerHTML = '<span class="spinner-border spinner-border-sm"></span>';
|
||||||
|
|
||||||
|
try {
|
||||||
|
const response = await fetch('api/ai_report.php', {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {'Content-Type': 'application/json'},
|
||||||
|
body: JSON.stringify({
|
||||||
|
target: 'translate',
|
||||||
|
text: text,
|
||||||
|
from: source === 'en' ? 'English' : 'Arabic',
|
||||||
|
to: target === 'en' ? 'English' : 'Arabic'
|
||||||
|
})
|
||||||
|
});
|
||||||
|
const data = await response.json();
|
||||||
|
if (data.success) {
|
||||||
|
document.getElementById(target === 'en' ? 'positionNameEn' : 'positionNameAr').value = data.report;
|
||||||
|
} else {
|
||||||
|
alert('Translation failed: ' + (data.error || 'Unknown error'));
|
||||||
|
}
|
||||||
|
} catch (e) {
|
||||||
|
console.error(e);
|
||||||
|
alert('Network error');
|
||||||
|
} finally {
|
||||||
|
btn.disabled = false;
|
||||||
|
btn.innerHTML = originalContent;
|
||||||
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
Loading…
x
Reference in New Issue
Block a user