upd: pembatasan user role pada diskusi umum
This commit is contained in:
@@ -19,6 +19,8 @@ import { useDispatch, useSelector } from "react-redux";
|
|||||||
|
|
||||||
export default function CreateDiscussionGeneral() {
|
export default function CreateDiscussionGeneral() {
|
||||||
const { token, decryptToken } = useAuthSession()
|
const { token, decryptToken } = useAuthSession()
|
||||||
|
const entityUser = useSelector((state: any) => state.user);
|
||||||
|
const userLogin = useSelector((state: any) => state.entities)
|
||||||
const [chooseGroup, setChooseGroup] = useState({ val: "", label: "" });
|
const [chooseGroup, setChooseGroup] = useState({ val: "", label: "" });
|
||||||
const [valChoose, setValChoose] = useState("")
|
const [valChoose, setValChoose] = useState("")
|
||||||
const [valSelect, setValSelect] = useState<"group" | "member">("group");
|
const [valSelect, setValSelect] = useState<"group" | "member">("group");
|
||||||
@@ -132,17 +134,24 @@ export default function CreateDiscussionGeneral() {
|
|||||||
/>
|
/>
|
||||||
<ScrollView>
|
<ScrollView>
|
||||||
<View style={[Styles.p15, Styles.mb100]}>
|
<View style={[Styles.p15, Styles.mb100]}>
|
||||||
<SelectForm
|
{
|
||||||
label="Lembaga Desa"
|
(entityUser.role == "supadmin" ||
|
||||||
placeholder="Pilih Lembaga Desa"
|
entityUser.role == "developer") && (
|
||||||
value={chooseGroup.label}
|
<SelectForm
|
||||||
required
|
label="Lembaga Desa"
|
||||||
onPress={() => {
|
placeholder="Pilih Lembaga Desa"
|
||||||
setValChoose(chooseGroup.val);
|
value={chooseGroup.label}
|
||||||
setValSelect("group");
|
required
|
||||||
setSelect(true);
|
onPress={() => {
|
||||||
}}
|
setValChoose(chooseGroup.val);
|
||||||
/>
|
setValSelect("group");
|
||||||
|
setSelect(true);
|
||||||
|
}}
|
||||||
|
error={error.group}
|
||||||
|
errorText="Lembaga Desa tidak boleh kosong"
|
||||||
|
/>
|
||||||
|
)
|
||||||
|
}
|
||||||
<InputForm
|
<InputForm
|
||||||
label="Judul"
|
label="Judul"
|
||||||
type="default"
|
type="default"
|
||||||
@@ -164,15 +173,23 @@ export default function CreateDiscussionGeneral() {
|
|||||||
<ButtonSelect
|
<ButtonSelect
|
||||||
value="Pilih Anggota"
|
value="Pilih Anggota"
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
if (chooseGroup.val != "") {
|
if (entityUser.role == "supadmin" || entityUser.role == "developer") {
|
||||||
|
if (chooseGroup.val != "") {
|
||||||
|
setSelect(true);
|
||||||
|
setValSelect("member");
|
||||||
|
} else {
|
||||||
|
ToastAndroid.show(
|
||||||
|
"Pilih Lembaga Desa terlebih dahulu",
|
||||||
|
ToastAndroid.SHORT
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}else{
|
||||||
|
validationForm('group', userLogin.idGroup, userLogin.group);
|
||||||
|
setValChoose(userLogin.idGroup)
|
||||||
setSelect(true);
|
setSelect(true);
|
||||||
setValSelect("member");
|
setValSelect("member");
|
||||||
} else {
|
|
||||||
ToastAndroid.show(
|
|
||||||
"Pilih Lembaga Desa terlebih dahulu",
|
|
||||||
ToastAndroid.SHORT
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { AntDesign } from "@expo/vector-icons"
|
|||||||
import { router } from "expo-router"
|
import { router } from "expo-router"
|
||||||
import { useState } from "react"
|
import { useState } from "react"
|
||||||
import { View } from "react-native"
|
import { View } from "react-native"
|
||||||
|
import { useSelector } from "react-redux"
|
||||||
import ButtonMenuHeader from "../buttonMenuHeader"
|
import ButtonMenuHeader from "../buttonMenuHeader"
|
||||||
import DrawerBottom from "../drawerBottom"
|
import DrawerBottom from "../drawerBottom"
|
||||||
import MenuItemRow from "../menuItemRow"
|
import MenuItemRow from "../menuItemRow"
|
||||||
@@ -11,6 +12,8 @@ import ModalFilter from "../modalFilter"
|
|||||||
export default function HeaderDiscussionGeneral() {
|
export default function HeaderDiscussionGeneral() {
|
||||||
const [isVisible, setVisible] = useState(false)
|
const [isVisible, setVisible] = useState(false)
|
||||||
const [isFilter, setFilter] = useState(false)
|
const [isFilter, setFilter] = useState(false)
|
||||||
|
const entityUser = useSelector((state: any) => state.user)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<ButtonMenuHeader onPress={() => { setVisible(true) }} />
|
<ButtonMenuHeader onPress={() => { setVisible(true) }} />
|
||||||
@@ -24,14 +27,17 @@ export default function HeaderDiscussionGeneral() {
|
|||||||
router.push('/discussion/create')
|
router.push('/discussion/create')
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
<MenuItemRow
|
{
|
||||||
icon={<AntDesign name="filter" color="black" size={25} />}
|
(entityUser.role == 'supadmin' || entityUser.role == 'developer') &&
|
||||||
title="Filter"
|
<MenuItemRow
|
||||||
onPress={() => {
|
icon={<AntDesign name="filter" color="black" size={25} />}
|
||||||
setVisible(false)
|
title="Filter"
|
||||||
setFilter(true)
|
onPress={() => {
|
||||||
}}
|
setVisible(false)
|
||||||
/>
|
setFilter(true)
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
}
|
||||||
</View>
|
</View>
|
||||||
</DrawerBottom>
|
</DrawerBottom>
|
||||||
<ModalFilter close={() => { setFilter(false) }} open={isFilter} page="discussion" />
|
<ModalFilter close={() => { setFilter(false) }} open={isFilter} page="discussion" />
|
||||||
|
|||||||
Reference in New Issue
Block a user