Files
opensourcepos/app/Language/tr/Employees.php
T
objecttothis c701d21886 fix(sales): gate per-record endpoints behind reports_sales grant (#4627)
fix(sales): gate per-record endpoints behind reports_sales grant (REDACTED)

Cashiers holding only the base `sales` grant could reach per-sale endpoints
(getRow, getEdit, postSave, getReceipt, getInvoice, getSendPdf, getSendReceipt)
that require `reports_sales`. getManage() enforced this at the list level, but
individual endpoints did not re-check. Regression tests added.

Auth:
- Introduce `IsLoggedIn` filter to centralize login checks across controllers
- Replace custom `AccessDeniedRedirectException` with built-in `RedirectException`

Employees:
- Add `DISALLOW_PASSWORD_CHANGE` and `DISALLOW_GRANT_CHANGE` env vars to restrict
  credential and permission changes in locked-down environments
- Extract `hasGrantsChanged()` to streamline `postSave`

Refactor:
- Rename snake_case variables to camelCase in Sales, Items, and Employees
  controllers for PSR-12 compliance
- Use explicit `db_connect()` for transaction clarity in Items controller

Fixes:
- SMTP config entries fall back to defaults via null coalescing
- Migration uses `DROP FOREIGN KEY` instead of `DROP CONSTRAINT`
- Password hash upgrade only sets session on successful `hash_version` update
- Correct lang key for unknown error in Module model

Language:
- Translate `error_grant_change_disallowed` / `error_password_change_disallowed`
  across all 44 supported locales with => alignment matching en reference
- Fix "cannot be deleted" messages and misc typos across ~15 language files

Tests:
- Bootstrap seeder only once in ItemsCsvImportTest; close connection after
- Restore `DISALLOW_GRANT_CHANGE` in teardown to prevent side effects
- Use `uniqid()` for test user data to avoid collisions

Signed-off-by: 17935339+objecttothis@users.noreply.github.com
2026-08-23 17:40:06 +04:00

50 lines
3.1 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?php
return [
'administrator' => '',
'basic_information' => 'Personel Temel Bilgileri',
'cannot_be_deleted' => 'Seçili personel silinemedi, personellerin satışları var ya da kendinizi silmeye çalışıyorsunuz.',
'change_employee' => '',
'change_password' => 'Parolayı Değiştir',
'clerk' => '',
'commission' => '',
'confirm_delete' => 'Seçili personelleri silmek istediğinize emin misiniz?',
'confirm_restore' => 'Seçili çalışanları geri yüklemek istediğinizden emin misiniz?',
'current_password' => 'Var Olan Parola',
'current_password_invalid' => 'Var Olan Parola geçersiz.',
'employee' => 'Personel',
'error_adding_updating' => 'Personel ekleme/güncelleme hatası.',
'error_deleting_admin' => '',
'error_deleting_demo_admin' => 'Admin silinemez.',
'error_grant_change_disallowed' => 'İzin değişiklikleri bu demoda devre dışı bırakılmıştır.',
'error_password_change_disallowed' => 'Şifre değişiklikleri bu demoda devre dışı bırakılmıştır.',
'error_updating_admin' => '',
'error_updating_demo_admin' => 'Admin güncellenemez.',
'language' => 'Dil',
'login_info' => 'Personel Giriş Bilgileri',
'manager' => '',
'new' => 'Yeni Personel',
'none_selected' => 'Silmek için çalışan seçmediniz.',
'one_or_multiple' => 'personel',
'password' => 'Parola',
'password_minlength' => 'Parola en az 8 karakter olmalıdır.',
'password_must_match' => 'Parolalar uyuşmuyor.',
'password_not_must_match' => 'Geçerli parola ve yeni parola benzersiz olmalıdır.',
'password_required' => 'Parola zorunludur.',
'permission_desc' => 'Modül yetkisi vermek için kutuları işaretleyin.',
'permission_info' => 'Personel İzin ve Yetkileri',
'repeat_password' => 'Parola Yeniden',
'subpermission_required' => 'Her bir birim için en az bir izin ekle.',
'successful_adding' => 'Personel eklendi.',
'successful_change_password' => 'Parola değişikliği başarılı.',
'successful_deleted' => 'Silme başarılı',
'successful_updating' => 'Personel güncellendi',
'system_language' => 'Sistem dili',
'unsuccessful_change_password' => 'Parola değişikliği başarısız oldu.',
'update' => 'Personeli Güncelle',
'username' => 'Kullanıcı Adı',
'username_duplicate' => '',
'username_minlength' => 'Kullanıcı Adı en az 5 karakter olmalıdır.',
'username_required' => 'Kullanıcı Adı zorunlu alandır.',
];