Как заблокировать/разблокировать пользователя?
Блокировка пользователя регулируется полями lockoutEnabled и lockoutEndDate в таблице as_users. Выводим управление полем lockoutEnabled в таблицу с Пользователями (через операции в таблице), а поле lockoutEndDate заполняем как +20 лет к текущей дате при изменении lockoutEnabled. При разблокировке lockoutEndDate — NULL.
Пример:
Добавляем две операции в таблицу (как на рисунке ниже)
Настраиваем их SQL:
CREATE PROCEDURE [dbo].[crud_clients_block_operation]
@filters CRUDFilterParameter READONLY,
@itemIDs nvarchar(256),
@username nvarchar(32)
AS
BEGIN
update as_users
set lockoutEnabled = 0,
lockoutEndDate = dateadd(year, 20, getdate())
where try_cast(id as nvarchar)+',' = @itemIDs
select 'Пользователь Заблокирован' Msg, 1 Result, '' Info, '/clients' RedirectUrl
END
CREATE PROCEDURE [dbo].[crud_clients_unblock_operation]
@filters CRUDFilterParameter READONLY,
@itemIDs nvarchar(256),
@username nvarchar(32)
AS
BEGIN
update as_users
set lockoutEnabled = 1,
lockoutEndDate = NULL
where try_cast(id as nvarchar)+',' = @itemIDs
select 'Пользователь Разблокирован' Msg, 1 Result, '' Info, '/clients' RedirectUrl
Донастраиваем SQL самой таблицы, то есть если пользователь заблокирован, то скрываем кнопку "Заблокировать", и наоборот, если разблокирован, то скрываем кнопку "Разблокировать"
select u.id,
''+isnull(nullif(fio,''),'Клиент без Имени')+'' as name,
iif(lockoutEnabled = 1, null, '0') as hide_block,
iif(lockoutEnabled = 0, null, '0') as hide_unblock
from ctr_contragents c
join as_users u on u.username = c.username
Другие темы
Не выводится столбец в таблице
Что делать если таблица не влезает в экран по горизонтали?
Как обновить форму после сохранения без перезагрузки страницы?
Как проверить значение переменной в хранимой процедуре?
Не выводится таблица, что делать?
Как на странице убрать название таблицы(формы)?
Что делать если открытая вкладка(tab) сбрасывается при перезагрузке страницы?
SQL-инструмент для создания личных кабинетов на сайте
Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Ищем партнеров-разработчиков на T-SQL
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта