Test commit to new origin
This commit is contained in:
@@ -12,12 +12,7 @@ import { router, usePage } from "@inertiajs/vue3";
|
||||
import { useForm, Field as FormField } from "vee-validate";
|
||||
import { toTypedSchema } from "@vee-validate/zod";
|
||||
import * as z from "zod";
|
||||
import {
|
||||
FormControl,
|
||||
FormItem,
|
||||
FormLabel,
|
||||
FormMessage,
|
||||
} from "@/Components/ui/form";
|
||||
import { FormControl, FormItem, FormLabel, FormMessage } from "@/Components/ui/form";
|
||||
import { Input } from "@/Components/ui/input";
|
||||
import { Textarea } from "@/Components/ui/textarea";
|
||||
import {
|
||||
@@ -158,8 +153,7 @@ const formSchema = toTypedSchema(
|
||||
(val) => {
|
||||
const encoding = isGsm7(val) ? "GSM-7" : "UCS-2";
|
||||
const maxAllowed = encoding === "GSM-7" ? 640 : 320;
|
||||
const count =
|
||||
encoding === "GSM-7" ? gsm7Length(val) : ucs2Length(val);
|
||||
const count = encoding === "GSM-7" ? gsm7Length(val) : ucs2Length(val);
|
||||
return count <= maxAllowed;
|
||||
},
|
||||
{
|
||||
@@ -196,9 +190,7 @@ const sendersForSelectedProfile = computed(() => {
|
||||
);
|
||||
});
|
||||
|
||||
const smsEncoding = computed(() =>
|
||||
isGsm7(form.values.message) ? "GSM-7" : "UCS-2"
|
||||
);
|
||||
const smsEncoding = computed(() => (isGsm7(form.values.message) ? "GSM-7" : "UCS-2"));
|
||||
|
||||
const charCount = computed(() =>
|
||||
smsEncoding.value === "GSM-7"
|
||||
@@ -222,13 +214,9 @@ const segments = computed(() => {
|
||||
|
||||
const creditsNeeded = computed(() => segments.value);
|
||||
|
||||
const maxAllowed = computed(() =>
|
||||
smsEncoding.value === "GSM-7" ? 640 : 320
|
||||
);
|
||||
const maxAllowed = computed(() => (smsEncoding.value === "GSM-7" ? 640 : 320));
|
||||
|
||||
const remaining = computed(() =>
|
||||
Math.max(0, maxAllowed.value - charCount.value)
|
||||
);
|
||||
const remaining = computed(() => Math.max(0, maxAllowed.value - charCount.value));
|
||||
|
||||
// Truncate message if exceeds limit
|
||||
watch(
|
||||
@@ -236,10 +224,7 @@ watch(
|
||||
(val) => {
|
||||
const limit = maxAllowed.value;
|
||||
if (charCount.value > limit) {
|
||||
form.setFieldValue(
|
||||
"message",
|
||||
truncateToLimit(val, limit, smsEncoding.value)
|
||||
);
|
||||
form.setFieldValue("message", truncateToLimit(val, limit, smsEncoding.value));
|
||||
}
|
||||
}
|
||||
);
|
||||
@@ -248,28 +233,28 @@ watch(
|
||||
watch(
|
||||
() => form.values.profile_id,
|
||||
(profileId) => {
|
||||
if (!profileId) {
|
||||
form.setFieldValue("sender_id", null);
|
||||
return;
|
||||
}
|
||||
|
||||
const prof = (pageSmsProfiles.value || []).find((p) => p.id === profileId);
|
||||
if (prof?.default_sender_id) {
|
||||
const inList = sendersForSelectedProfile.value.find(
|
||||
(s) => s.id === prof.default_sender_id
|
||||
);
|
||||
if (inList) {
|
||||
form.setFieldValue("sender_id", prof.default_sender_id);
|
||||
if (!profileId) {
|
||||
form.setFieldValue("sender_id", null);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Auto-select first sender if available
|
||||
if (sendersForSelectedProfile.value.length > 0) {
|
||||
form.setFieldValue("sender_id", sendersForSelectedProfile.value[0].id);
|
||||
} else {
|
||||
form.setFieldValue("sender_id", null);
|
||||
}
|
||||
const prof = (pageSmsProfiles.value || []).find((p) => p.id === profileId);
|
||||
if (prof?.default_sender_id) {
|
||||
const inList = sendersForSelectedProfile.value.find(
|
||||
(s) => s.id === prof.default_sender_id
|
||||
);
|
||||
if (inList) {
|
||||
form.setFieldValue("sender_id", prof.default_sender_id);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Auto-select first sender if available
|
||||
if (sendersForSelectedProfile.value.length > 0) {
|
||||
form.setFieldValue("sender_id", sendersForSelectedProfile.value[0].id);
|
||||
} else {
|
||||
form.setFieldValue("sender_id", null);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
@@ -299,14 +284,10 @@ const buildVarsFromSelectedContract = () => {
|
||||
type: c.account.type,
|
||||
initial_amount:
|
||||
c.account.initial_amount ??
|
||||
(c.account.initial_amount_raw
|
||||
? formatEu(c.account.initial_amount_raw)
|
||||
: null),
|
||||
(c.account.initial_amount_raw ? formatEu(c.account.initial_amount_raw) : null),
|
||||
balance_amount:
|
||||
c.account.balance_amount ??
|
||||
(c.account.balance_amount_raw
|
||||
? formatEu(c.account.balance_amount_raw)
|
||||
: null),
|
||||
(c.account.balance_amount_raw ? formatEu(c.account.balance_amount_raw) : null),
|
||||
initial_amount_raw: c.account.initial_amount_raw ?? null,
|
||||
balance_amount_raw: c.account.balance_amount_raw ?? null,
|
||||
};
|
||||
@@ -361,16 +342,16 @@ const updateSmsFromSelection = async () => {
|
||||
watch(
|
||||
() => form.values.template_id,
|
||||
() => {
|
||||
if (!form.values.template_id) return;
|
||||
updateSmsFromSelection();
|
||||
if (!form.values.template_id) return;
|
||||
updateSmsFromSelection();
|
||||
}
|
||||
);
|
||||
|
||||
watch(
|
||||
() => form.values.contract_uuid,
|
||||
() => {
|
||||
if (!form.values.template_id) return;
|
||||
updateSmsFromSelection();
|
||||
if (!form.values.template_id) return;
|
||||
updateSmsFromSelection();
|
||||
}
|
||||
);
|
||||
|
||||
@@ -497,11 +478,7 @@ const open = computed({
|
||||
</FormControl>
|
||||
<SelectContent>
|
||||
<SelectItem :value="null">—</SelectItem>
|
||||
<SelectItem
|
||||
v-for="p in pageSmsProfiles"
|
||||
:key="p.id"
|
||||
:value="p.id"
|
||||
>
|
||||
<SelectItem v-for="p in pageSmsProfiles" :key="p.id" :value="p.id">
|
||||
{{ p.name || "Profil #" + p.id }}
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
@@ -546,11 +523,7 @@ const open = computed({
|
||||
</FormControl>
|
||||
<SelectContent>
|
||||
<SelectItem :value="null">—</SelectItem>
|
||||
<SelectItem
|
||||
v-for="c in contractsForCase"
|
||||
:key="c.uuid"
|
||||
:value="c.uuid"
|
||||
>
|
||||
<SelectItem v-for="c in contractsForCase" :key="c.uuid" :value="c.uuid">
|
||||
{{ c.reference || c.uuid }}
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
@@ -574,11 +547,7 @@ const open = computed({
|
||||
</FormControl>
|
||||
<SelectContent>
|
||||
<SelectItem :value="null">—</SelectItem>
|
||||
<SelectItem
|
||||
v-for="t in pageSmsTemplates"
|
||||
:key="t.id"
|
||||
:value="t.id"
|
||||
>
|
||||
<SelectItem v-for="t in pageSmsTemplates" :key="t.id" :value="t.id">
|
||||
{{ t.name || "Predloga #" + t.id }}
|
||||
</SelectItem>
|
||||
</SelectContent>
|
||||
@@ -626,14 +595,13 @@ const open = computed({
|
||||
</span>
|
||||
</div>
|
||||
<p class="text-[11px] text-gray-500 leading-snug">
|
||||
Dolžina 160 znakov velja samo pri pošiljanju sporočil, ki vsebujejo
|
||||
znake, ki ne zahtevajo enkodiranja. Če npr. želite pošiljati
|
||||
šumnike, ki niso del 7-bitne abecede GSM, morate uporabiti Unicode
|
||||
enkodiranje (UCS‑2). V tem primeru je največja dolžina enega SMS
|
||||
sporočila 70 znakov (pri daljših sporočilih 67 znakov na del),
|
||||
medtem ko je pri GSM‑7 160 znakov (pri daljših sporočilih 153
|
||||
znakov na del). Razširjeni znaki (^{{ "{" }}}}\\[]~| in €) štejejo
|
||||
dvojno. Največja dovoljena dolžina po ponudniku: 640 (GSM‑7) oziroma
|
||||
Dolžina 160 znakov velja samo pri pošiljanju sporočil, ki vsebujejo znake, ki
|
||||
ne zahtevajo enkodiranja. Če npr. želite pošiljati šumnike, ki niso del
|
||||
7-bitne abecede GSM, morate uporabiti Unicode enkodiranje (UCS‑2). V tem
|
||||
primeru je največja dolžina enega SMS sporočila 70 znakov (pri daljših
|
||||
sporočilih 67 znakov na del), medtem ko je pri GSM‑7 160 znakov (pri daljših
|
||||
sporočilih 153 znakov na del). Razširjeni znaki (^{{ "{" }}}}\\[]~| in €)
|
||||
štejejo dvojno. Največja dovoljena dolžina po ponudniku: 640 (GSM‑7) oziroma
|
||||
320 (UCS‑2) znakov.
|
||||
</p>
|
||||
</div>
|
||||
@@ -641,10 +609,7 @@ const open = computed({
|
||||
<FormField v-slot="{ value, handleChange }" name="delivery_report">
|
||||
<FormItem class="flex flex-row items-start space-x-3 space-y-0">
|
||||
<FormControl>
|
||||
<Switch
|
||||
:model-value="value"
|
||||
@update:model-value="handleChange"
|
||||
/>
|
||||
<Switch :model-value="value" @update:model-value="handleChange" />
|
||||
</FormControl>
|
||||
<div class="space-y-1 leading-none">
|
||||
<FormLabel>Zahtevaj poročilo o dostavi</FormLabel>
|
||||
@@ -657,10 +622,7 @@ const open = computed({
|
||||
<Button variant="outline" @click="closeSmsDialog" :disabled="processing">
|
||||
Prekliči
|
||||
</Button>
|
||||
<Button
|
||||
@click="onSubmit"
|
||||
:disabled="processing || !form.values.message"
|
||||
>
|
||||
<Button @click="onSubmit" :disabled="processing || !form.values.message">
|
||||
Pošlji
|
||||
</Button>
|
||||
</DialogFooter>
|
||||
|
||||
Reference in New Issue
Block a user