add netopia payment process

This commit is contained in:
2025-11-06 10:48:57 +02:00
parent 5a40af5434
commit 6c713171ed
10 changed files with 566 additions and 72 deletions

View File

@@ -9,15 +9,26 @@ class ProfilePage:
self.company_manager = Company()
self.user = self.page.session.get("user")
self.company = self.company_manager.get_company(self.user['id'])
self.user_name = ft.TextField(label="Nume si Prenume", value=self.user['name'])
self.first_name = ft.TextField(
label="Prenume",
value=self.user['name'].split('~')[0] if "@default.com" not in self.user['email'] else None
)
self.last_name = ft.TextField(
label="Nume",
value=self.user['name'].split('~')[1] if "@default.com" not in self.user['email'] else None
)
self.email = ft.TextField(label="E-mail", value=self.user['email'], read_only=True)
self.phone = ft.TextField(label="Telefon", value=self.user['phone'])
self.address = ft.TextField(
label="Adresa",
label="Strada si numar",
multiline=True,
min_lines=3,
max_lines=5,
value = self.user['address'].split("~")[0] if self.user['address'] else ''
value = self.user['address'].split("~")[0].split("%")[1] if self.user['address'] else ''
)
self.city = ft.TextField(
label="Oras",
value = self.user['address'].split("~")[0].split('%')[0] if self.user['address'] else ''
)
self.company_name = ft.TextField(
label="Denumire firma",
@@ -39,7 +50,7 @@ class ProfilePage:
value=self.company['address'] if self.company else '')
self.second_address_placeholder = ft.Column()
self.second_address = ft.TextField(
label="Adresa de livrare",
label="Adresa de livrare (str, nr, oras, judet)",
multiline=True,
min_lines=3,
max_lines=5,
@@ -75,7 +86,7 @@ class ProfilePage:
self.order_placeholder.controls.append(self.company_address)
self.order_placeholder.update()
def check_inserted_user_data(self, username, phone, address):
def check_inserted_user_data(self, username, phone, address, city):
found = False
if username is None or len(username)< 1:
found = True
@@ -83,6 +94,8 @@ class ProfilePage:
found = True
if address is None or len(address)< 1:
found = True
if city is None or len(city)< 1:
found = True
if found:
self.error_message.value = "Toate campurile sunt obligatori!"
self.error_message.color = ft.Colors.RED
@@ -115,14 +128,14 @@ class ProfilePage:
return found
def on_save_btn_click(self, e):
username = self.user_name.value
username = self.first_name.value + "~" + self.last_name.value
phone = self.phone.value
address = self.address.value
address = self.city.value+"%"+self.address.value
if self.is_second_address:
if self.check_second_address_inserted(self.second_address.value):
return
address = self.address.value + '~' + self.second_address.value
if self.check_inserted_user_data(username, phone, address):
address = self.city.value+"%"+self.address.value + '~' + self.second_address.value
if self.check_inserted_user_data(username, phone, self.address.value, self.city.value):
return
self.user_manager.update_user_data(username, phone, address, self.user['id'])
@@ -150,12 +163,16 @@ class ProfilePage:
self.error_message.update()
self.user = self.user_manager.get(self.user['id'])
self.page.session.set('user',self.user)
self.user_name.value = self.user['name']
self.user_name.update()
self.first_name.value=self.user['name'].split('~')[0]
self.first_name.update()
self.last_name.value=self.user['name'].split('~')[1]
self.last_name.update()
self.phone.value = self.user['phone']
self.phone.update()
self.address.value = self.user['address'].split("~")[0] if self.user['address'] else ''
self.address.value = self.user['address'].split("~")[0].split("%")[1] if self.user['address'] else ''
self.address.update()
self.city.value = self.user['address'].split("~")[0].split("%")[0] if self.user['address'] else ''
self.city.update()
self.company = self.company_manager.get_company(self.user['id'])
self.company_name.value=self.company['name'] if self.company else ''
@@ -191,10 +208,12 @@ class ProfilePage:
alignment=ft.MainAxisAlignment.END
),
ft.Icon(name=ft.Icons.ACCOUNT_CIRCLE, size=100),
self.user_name,
self.first_name,
self.last_name,
self.email,
self.phone,
self.address,
self.city,
ft.Divider(),
ft.Text("Adresa de livrare difera de adresa de domiciliu?", text_align=ft.TextAlign.CENTER),
ft.Button("Adauga adresa livrare", width=400, on_click=self.on_second_address_btn_click),