Merge remote-tracking branch 'origin/master'

This commit is contained in:
M_Kececi
2026-04-03 15:47:22 +03:00
parent 2b04688905
commit bf97e20e79
2 changed files with 38 additions and 3 deletions

View File

@@ -93,7 +93,7 @@ ensure_ui_permissions() {
clean_ui_build_artifacts() {
cd "$APP_DIR/ui"
# dist'i silmiyoruz -> eski chunklar k<EFBFBD>sa s<EFBFBD>re kalabilir, ChunkLoadError azal<EFBFBD>r
# dist'i silmiyoruz -> eski chunklar kısa süre kalabilir, ChunkLoadError azalır
rm -rf .quasar node_modules/.cache || true
}
@@ -217,6 +217,36 @@ ensure_ui_readable_by_nginx() {
fi
}
ensure_node20_for_ui_build() {
local required_major=20
local nvm_dir="${NVM_DIR:-$HOME/.nvm}"
if [[ -s "$nvm_dir/nvm.sh" ]]; then
# shellcheck disable=SC1090
source "$nvm_dir/nvm.sh"
nvm install "$required_major" >/dev/null
nvm use "$required_major" >/dev/null
fi
if ! command -v node >/dev/null 2>&1; then
echo "ERROR: node command not found"
return 1
fi
local node_version
node_version="$(node -v 2>/dev/null || true)"
local node_major
node_major="$(echo "$node_version" | sed -E 's/^v([0-9]+).*/\1/')"
if [[ -z "$node_major" || "$node_major" -lt "$required_major" ]]; then
echo "ERROR: Node.js >=${required_major} required for UI build. Current: ${node_version:-unknown}"
echo "Hint: install nvm and run: nvm install ${required_major} && nvm alias default ${required_major}"
return 1
fi
echo "UI build runtime: node=$node_version npm=$(npm -v)"
}
build_api_binary() {
if ! command -v go >/dev/null 2>&1; then
echo "ERROR: go command not found"
@@ -291,6 +321,7 @@ run_deploy() {
log_step "BUILD UI"
cd "$APP_DIR/ui"
ensure_node20_for_ui_build
clean_ui_build_artifacts
npm ci --no-audit --no-fund --include=optional
npm i -D --no-audit --no-fund sass-embedded@1.93.2

View File

@@ -965,7 +965,9 @@ async function openAttributeDialog (itemCode) {
const baseRows = fromLookup.map(row => {
const currentCode = dbMap.get(Number(row.AttributeTypeCodeNumber || 0)) || ''
const currentOptions = Array.isArray(row.options) ? [...row.options] : []
const currentOptions = Array.isArray(row.AllOptions)
? [...row.AllOptions]
: (Array.isArray(row.Options) ? [...row.Options] : [])
if (currentCode && !currentOptions.some(opt => String(opt?.value || '').trim() === currentCode)) {
currentOptions.unshift({ value: currentCode, label: `${currentCode} - (Mevcut)` })
}
@@ -1040,7 +1042,9 @@ async function collectProductAttributesFromSelectedRows (selectedRows) {
const baseRows = buildAttributeRowsFromLookup(lookup)
rows = baseRows.map(row => {
const currentCode = dbMap.get(Number(row.AttributeTypeCodeNumber || 0)) || ''
const currentOptions = Array.isArray(row.options) ? [...row.options] : []
const currentOptions = Array.isArray(row.AllOptions)
? [...row.AllOptions]
: (Array.isArray(row.Options) ? [...row.Options] : [])
if (currentCode && !currentOptions.some(opt => String(opt?.value || '').trim() === currentCode)) {
currentOptions.unshift({ value: currentCode, label: `${currentCode} - (Mevcut)` })
}