Added filter for uneditable units
This commit is contained in:
parent
c847830a7e
commit
e98789a1ee
@ -47,4 +47,6 @@ public class UnitEntity {
|
|||||||
@Column
|
@Column
|
||||||
@JdbcTypeCode(SqlTypes.JSON)
|
@JdbcTypeCode(SqlTypes.JSON)
|
||||||
private String tokenSettings;
|
private String tokenSettings;
|
||||||
|
@Column
|
||||||
|
private Boolean adminEditable;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,9 @@ package ru.vyatsu.qr_access_admin.unit.entity;
|
|||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
import org.springframework.stereotype.Repository;
|
import org.springframework.stereotype.Repository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
@Repository
|
@Repository
|
||||||
public interface UnitRepository extends JpaRepository<UnitEntity, String> {
|
public interface UnitRepository extends JpaRepository<UnitEntity, String> {
|
||||||
|
List<UnitEntity> findAllByAdminEditableIsTrue();
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
package ru.vyatsu.qr_access_admin.unit.mapper;
|
package ru.vyatsu.qr_access_admin.unit.mapper;
|
||||||
|
|
||||||
|
import org.springframework.stereotype.Component;
|
||||||
import ru.vyatsu.qr_access_admin.unit.entity.UnitEntity;
|
import ru.vyatsu.qr_access_admin.unit.entity.UnitEntity;
|
||||||
import ru.vyatsu.qr_access_admin.unit.model.UnitModel;
|
import ru.vyatsu.qr_access_admin.unit.model.UnitModel;
|
||||||
import org.springframework.stereotype.Component;
|
|
||||||
|
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -32,6 +32,7 @@ public class UnitEntityUnitModelMapper {
|
|||||||
entity.setTokenSettings(DEFAULT_TOKEN_SETTINGS);
|
entity.setTokenSettings(DEFAULT_TOKEN_SETTINGS);
|
||||||
entity.setRedirectUris("");
|
entity.setRedirectUris("");
|
||||||
entity.setPostLogoutRedirectUris("");
|
entity.setPostLogoutRedirectUris("");
|
||||||
|
entity.setAdminEditable(true);
|
||||||
return entity;
|
return entity;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,6 +43,7 @@ public class UnitEntityUnitModelMapper {
|
|||||||
unitModel.setClientSecret(entity.getClientSecret());
|
unitModel.setClientSecret(entity.getClientSecret());
|
||||||
unitModel.setClientName(entity.getClientName());
|
unitModel.setClientName(entity.getClientName());
|
||||||
unitModel.setClientSecretExpiresAt(entity.getClientSecretExpiresAt());
|
unitModel.setClientSecretExpiresAt(entity.getClientSecretExpiresAt());
|
||||||
|
unitModel.setAdminEditable(entity.getAdminEditable());
|
||||||
return unitModel;
|
return unitModel;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
package ru.vyatsu.qr_access_admin.unit.model;
|
package ru.vyatsu.qr_access_admin.unit.model;
|
||||||
|
|
||||||
import ru.vyatsu.qr_access_admin.common.validation.IsAfter;
|
|
||||||
import jakarta.validation.constraints.NotBlank;
|
import jakarta.validation.constraints.NotBlank;
|
||||||
import jakarta.validation.constraints.Size;
|
import jakarta.validation.constraints.Size;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NoArgsConstructor;
|
import lombok.NoArgsConstructor;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import ru.vyatsu.qr_access_admin.common.validation.IsAfter;
|
||||||
|
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
@ -26,4 +26,6 @@ public class UnitModel {
|
|||||||
@NotBlank
|
@NotBlank
|
||||||
@Size(max = 255)
|
@Size(max = 255)
|
||||||
private String clientName;
|
private String clientName;
|
||||||
|
|
||||||
|
private boolean adminEditable;
|
||||||
}
|
}
|
||||||
|
@ -31,6 +31,7 @@ public class UnitView extends VerticalLayout {
|
|||||||
|
|
||||||
var addButton = new Button("Добавить устройство", VaadinIcon.PLUS.create());
|
var addButton = new Button("Добавить устройство", VaadinIcon.PLUS.create());
|
||||||
grid = new Grid<>(UnitModel.class);
|
grid = new Grid<>(UnitModel.class);
|
||||||
|
grid.setColumns("clientId", "clientName", "clientSecretExpiresAt");
|
||||||
editor = new UnitEditor();
|
editor = new UnitEditor();
|
||||||
|
|
||||||
var actionsLayout = new HorizontalLayout(addButton);
|
var actionsLayout = new HorizontalLayout(addButton);
|
||||||
@ -47,7 +48,7 @@ public class UnitView extends VerticalLayout {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void refreshUnitsGrid() {
|
private void refreshUnitsGrid() {
|
||||||
List<UnitEntity> entities = unitRepository.findAll();
|
List<UnitEntity> entities = unitRepository.findAllByAdminEditableIsTrue();
|
||||||
|
|
||||||
grid.setItems(entityModelMapper.mapEntityToModel(entities));
|
grid.setItems(entityModelMapper.mapEntityToModel(entities));
|
||||||
}
|
}
|
||||||
@ -72,9 +73,11 @@ public class UnitView extends VerticalLayout {
|
|||||||
});
|
});
|
||||||
|
|
||||||
editor.setDeleteListener(unit -> {
|
editor.setDeleteListener(unit -> {
|
||||||
unitRepository.deleteById(unit.getId());
|
if (unit.isAdminEditable()) {
|
||||||
refreshUnitsGrid();
|
unitRepository.deleteById(unit.getId());
|
||||||
editUnit(null);
|
refreshUnitsGrid();
|
||||||
|
editUnit(null);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
editor.setCancelListener(() -> editUnit(null));
|
editor.setCancelListener(() -> editUnit(null));
|
||||||
|
Loading…
Reference in New Issue
Block a user