Франчайзинг

icon picker
Адреса

Monosnap adressea 2024-06-09 23-59-49.png

Функциональность

На странице "Адреса" можно отслеживать все зарегистрированные адреса и редактировать информацию о них.
Доступен переход на страницу редактирования информации об адресе.
Кнопка "Добавить адрес" позволяет создать новый адрес (сейчас не активна).

Доступность

Страница доступна пользователям с правами администратора или франчайзера и франчайзи.
Администраторы и франчайзеры видят все адреса.
Франчайзеры видят только свои адреса, как франчайзи (если не включен режим "Франчайзер").

Элементы страницы

Таблица адресов: ID адреса, название адреса, ID франшизы, адрес, ценовой тир, адрес на сайте.
Переход на страницу редактирования адреса: доступен через иконку карандаша только создателю адреса. В противном случае доступен только просмотр
Monosnap adressea 2024-06-10 00-15-51.png
только просмотр

Monosnap adressea 2024-06-10 00-18-23.png
редактирование


megaphone
Кнопка "Добавить адрес": открывает форму создания нового адреса ( пока не активна).
arrow
Нужно что-то добавить на этой странице?


Логика и источники данных

Компонент LocGeoRowWidget
LocGeoRowWidget(
key: Key(
'Key9h9_${containerVarItem.locId}',
),
id: containerVarItem.locId,
)


Источники данных
Таблица loc_geo
create table
public.loc_geo (
created_at timestamp with time zone not null default now(),
adress text null,
creator character varying not null,
created_by uuid null,
ru_name text not null,
site_adress text null,
area_price bigint null,
franchisee bigint null,
loc_id text not null,
loc_coordinates text null,
constraint locGeo_pkey primary key (loc_id),
constraint locGeo_area_price_fkey foreign key (area_price) references area_prices (price_id),
constraint locGeo_created_by_fkey foreign key (created_by) references auth.users (id) on delete set null,
constraint locGeo_creator_fkey foreign key (creator) references users_by_roles (email),
constraint locGeo_franchisee_fkey foreign key (franchisee) references franchise (id)
) tablespace pg_default;

create unique index locgeo_loc_id_text_idx on public.loc_geo using btree (loc_id) tablespace pg_default;


Описание полей таблицы loc_geo
created_at: Время создания записи локации.
adress: Адрес локации (улица, дом).
creator: Электронная почта пользователя, создавшего запись локации.
created_by: ID пользователя, создавшего запись локации.
ru_name: Название локации на русском языке.
site_adress: Название локации для отображения на сайте.
area_price: Идентификатор ценовой категории локации.
franchisee: Идентификатор франшизы, к которой относится локация.
loc_id: Уникальный идентификатор локации, состоящий из трех букв.
loc_coordinates: Геокоординаты локации.
Описание виджета LocGeoRowWidget
Инициализация виджета
LocGeoRowWidget(
key: Key(
'Key9h9_${containerVarItem.locId}',
),
id: containerVarItem.locId,
)


Статусы и триггеры
Карточка адреса: отображает информацию о локации.
Редактирование адреса: доступно через переход на соответствующую страницу.
Кнопка "Добавить адрес": не активна, в будущем будет вести на создание новой записи в таблице loc_geo.

Дополнительно:

Для примера также предоставлены SQL-запросы для взаимодействия с таблицей loc_geo:
Чтение строк
let { data: loc_geo, error } = await supabase
.from('loc_geo')
.select('*')


Вставка строки
const { data, error } = await supabase
.from('loc_geo')
.insert([
{ some_column: 'someValue', other_column: 'otherValue' },
])
.select()


Обновление строки
const { data, error } = await supabase
.from('loc_geo')
.update({ other_column: 'otherValue' })
.eq('some_column', 'someValue')
.select()


Удаление строки
const { error } = await supabase
.from('loc_geo')
.delete()
.eq('some_column', 'someValue')



Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.