Как заблокировать/разблокировать пользователя?

Последнее обновление - 07.05.2021voroshilova07.05.2021 1
<p>Есть таблица со всеми пользователяями, как можно&nbsp;&nbsp;заблокировать/разблокировать пользователя?</p>

Блокировка пользователя регулируется  полями 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

Другие темы

SQL-инструмент для создания личных кабинетов на сайте

Суть подхода и история создания Falcon Space

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Веб-приложения на чистом MS SQL. Обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space, используя только SQL и HTML.
Смотреть примеры с кодом SQL
Документация по платформе
Демо-стенд компонентов
На стенде можно посмотреть различные компоненты в действии: таблицы, формы, модальные окна, диаграммы, карта и т.д.
Демо-сайт решений
Базисные решения, которые можно гибко адаптировать под себя: менять внешний вид, бизнес-логику и даже структуру базы данных.
Получить оценку проекта
Создайте концепцию проекта на основе нашего шаблона и получите оценку проекта в виде КП.