mirror of
https://github.com/rzmk/learnhouse.git
synced 2025-12-19 04:19:25 +00:00
fix: admin buttons issue
This commit is contained in:
parent
466616578a
commit
99890a950b
6 changed files with 18 additions and 14 deletions
|
|
@ -9,20 +9,22 @@ function GetStarted() {
|
||||||
const { data: install, error: error, isLoading } = useSWR(`${getAPIUrl()}install/latest`, swrFetcher);
|
const { data: install, error: error, isLoading } = useSWR(`${getAPIUrl()}install/latest`, swrFetcher);
|
||||||
const router = useRouter()
|
const router = useRouter()
|
||||||
|
|
||||||
function startInstallation() {
|
async function startInstallation() {
|
||||||
fetch(`${getAPIUrl()}install/start`, {
|
let res = await fetch(`${getAPIUrl()}install/start`, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify({})
|
body: JSON.stringify({})
|
||||||
}).then(res => res.json()).then(res => {
|
|
||||||
if (res.success) {
|
|
||||||
mutate(`${getAPIUrl()}install/latest`)
|
|
||||||
router.push(`/install?step=1`)
|
|
||||||
}
|
|
||||||
})
|
})
|
||||||
|
|
||||||
|
if (res.status == 200) {
|
||||||
|
mutate(`${getAPIUrl()}install/latest`)
|
||||||
|
router.refresh();
|
||||||
|
router.push(`/install?step=1`)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function redirectToStep() {
|
function redirectToStep() {
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,7 @@ const CollectionsPage = async (params: any) => {
|
||||||
<GeneralWrapperStyled>
|
<GeneralWrapperStyled>
|
||||||
<div className="flex justify-between" >
|
<div className="flex justify-between" >
|
||||||
<TypeOfContentTitle title="Collections" type="col" />
|
<TypeOfContentTitle title="Collections" type="col" />
|
||||||
<AuthenticatedClientElement checkMethod='authentication'>
|
<AuthenticatedClientElement checkMethod='roles' orgId={org_id}>
|
||||||
<Link className="flex justify-center" href={getUriWithOrg(orgslug, "/collections/new")}>
|
<Link className="flex justify-center" href={getUriWithOrg(orgslug, "/collections/new")}>
|
||||||
<button className="rounded-md bg-black antialiased ring-offset-purple-800 p-2 px-5 my-auto font text-sm font-bold text-white drop-shadow-lg">Add Collection + </button>
|
<button className="rounded-md bg-black antialiased ring-offset-purple-800 p-2 px-5 my-auto font text-sm font-bold text-white drop-shadow-lg">Add Collection + </button>
|
||||||
</Link>
|
</Link>
|
||||||
|
|
|
||||||
|
|
@ -20,6 +20,7 @@ import { getCourseThumbnailMediaDirectory } from '@services/media/media';
|
||||||
interface CourseProps {
|
interface CourseProps {
|
||||||
orgslug: string;
|
orgslug: string;
|
||||||
courses: any;
|
courses: any;
|
||||||
|
org_id: string;
|
||||||
}
|
}
|
||||||
|
|
||||||
// function to remove "course_" from the course_id
|
// function to remove "course_" from the course_id
|
||||||
|
|
@ -49,7 +50,7 @@ function Courses(props: CourseProps) {
|
||||||
<GeneralWrapperStyled>
|
<GeneralWrapperStyled>
|
||||||
<div className='flex flex-wrap justify-between'>
|
<div className='flex flex-wrap justify-between'>
|
||||||
<TypeOfContentTitle title="Courses" type="cou" />
|
<TypeOfContentTitle title="Courses" type="cou" />
|
||||||
<AuthenticatedClientElement checkMethod='authentication'>
|
<AuthenticatedClientElement checkMethod='roles' orgId={props.org_id}>
|
||||||
<Modal
|
<Modal
|
||||||
isDialogOpen={newCourseModal}
|
isDialogOpen={newCourseModal}
|
||||||
onOpenChange={setNewCourseModal}
|
onOpenChange={setNewCourseModal}
|
||||||
|
|
@ -72,7 +73,7 @@ function Courses(props: CourseProps) {
|
||||||
<div className="flex flex-wrap">
|
<div className="flex flex-wrap">
|
||||||
{courses.map((course: any) => (
|
{courses.map((course: any) => (
|
||||||
<div className="px-3" key={course.course_id}>
|
<div className="px-3" key={course.course_id}>
|
||||||
<AdminEditsArea course={course} orgSlug={orgslug} courseId={course.course_id} deleteCourses={deleteCourses} />
|
<AdminEditsArea course={course} orgSlug={orgslug} courseId={course.course_id} deleteCourses={deleteCourses} />
|
||||||
<Link href={getUriWithOrg(orgslug, "/course/" + removeCoursePrefix(course.course_id))}>
|
<Link href={getUriWithOrg(orgslug, "/course/" + removeCoursePrefix(course.course_id))}>
|
||||||
<div className="inset-0 ring-1 ring-inset ring-black/10 rounded-lg shadow-xl relative w-[249px] h-[131px] bg-cover" style={{ backgroundImage: `url(${getCourseThumbnailMediaDirectory(course.org_id, course.course_id, course.thumbnail)})` }}>
|
<div className="inset-0 ring-1 ring-inset ring-black/10 rounded-lg shadow-xl relative w-[249px] h-[131px] bg-cover" style={{ backgroundImage: `url(${getCourseThumbnailMediaDirectory(course.org_id, course.course_id, course.thumbnail)})` }}>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -25,13 +25,14 @@ export async function generateMetadata(
|
||||||
|
|
||||||
const CoursesPage = async (params: any) => {
|
const CoursesPage = async (params: any) => {
|
||||||
const orgslug = params.params.orgslug;
|
const orgslug = params.params.orgslug;
|
||||||
|
const org = await getOrganizationContextInfo(orgslug, { revalidate: 1800, tags: ['organizations'] });
|
||||||
const cookieStore = cookies();
|
const cookieStore = cookies();
|
||||||
const access_token_cookie: any = cookieStore.get('access_token_cookie');
|
const access_token_cookie: any = cookieStore.get('access_token_cookie');
|
||||||
const courses = await getOrgCoursesWithAuthHeader(orgslug, { revalidate: 0, tags: ['courses'] }, access_token_cookie ? access_token_cookie.value : null);
|
const courses = await getOrgCoursesWithAuthHeader(orgslug, { revalidate: 0, tags: ['courses'] }, access_token_cookie ? access_token_cookie.value : null);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<Courses orgslug={orgslug} courses={courses} />
|
<Courses org_id={org.org_id} orgslug={orgslug} courses={courses} />
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@ export const AuthenticatedClientElement = (props: AuthenticatedClientElementProp
|
||||||
|
|
||||||
// Available roles
|
// Available roles
|
||||||
const org_roles_values = ["admin", "owner"];
|
const org_roles_values = ["admin", "owner"];
|
||||||
const user_roles_values = ["role_admin", "role_super_admin"];
|
const user_roles_values = ["role_admin"];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -24,7 +24,7 @@ export const AuthenticatedClientElement = (props: AuthenticatedClientElementProp
|
||||||
const user_roles = auth.userInfo.user_object.roles;
|
const user_roles = auth.userInfo.user_object.roles;
|
||||||
const org_role = org_roles.find((org: any) => org.org_id == org_id);
|
const org_role = org_roles.find((org: any) => org.org_id == org_id);
|
||||||
const user_role = user_roles.find((role: any) => role.org_id == org_id);
|
const user_role = user_roles.find((role: any) => role.org_id == org_id);
|
||||||
|
|
||||||
if (org_role && user_role) {
|
if (org_role && user_role) {
|
||||||
if (org_roles_values.includes(org_role.org_role) && user_roles_values.includes(user_role.role_id)) {
|
if (org_roles_values.includes(org_role.org_role) && user_roles_values.includes(user_role.role_id)) {
|
||||||
return true;
|
return true;
|
||||||
|
|
|
||||||
|
|
@ -18,7 +18,7 @@ class Settings(BaseModel):
|
||||||
authjwt_secret_key: str = "secret" if isDevModeEnabled() else SECRET_KEY
|
authjwt_secret_key: str = "secret" if isDevModeEnabled() else SECRET_KEY
|
||||||
authjwt_token_location = {"cookies", "headers"}
|
authjwt_token_location = {"cookies", "headers"}
|
||||||
authjwt_cookie_csrf_protect = False
|
authjwt_cookie_csrf_protect = False
|
||||||
authjwt_access_token_expires = False if isDevModeEnabled() else 3600
|
authjwt_access_token_expires = False if isDevModeEnabled() else 28800
|
||||||
authjwt_cookie_samesite = "lax"
|
authjwt_cookie_samesite = "lax"
|
||||||
authjwt_cookie_secure = True
|
authjwt_cookie_secure = True
|
||||||
authjwt_cookie_domain = get_learnhouse_config().hosting_config.cookie_config.domain
|
authjwt_cookie_domain = get_learnhouse_config().hosting_config.cookie_config.domain
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue