Skip to content

Commit

Permalink
Add Groups, Permissions, Roles & Users Sprunje
Browse files Browse the repository at this point in the history
  • Loading branch information
lcharette committed Oct 5, 2024
1 parent 40e79d7 commit 6f45931
Show file tree
Hide file tree
Showing 22 changed files with 440 additions and 81 deletions.
30 changes: 29 additions & 1 deletion app/assets/views/GroupsView.vue
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
<template>
<UFHeaderPage title="Groups" />
<UFHeaderPage
title="Groups"
caption="A listing of the groups for your site. Provides management tools for editing and deleting groups." />

<UFCardBox>
<UFSprunjeTable dataUrl="/api/groups">
<template #header>
<UFSprunjeHeader>Groups</UFSprunjeHeader>
<UFSprunjeHeader>Description</UFSprunjeHeader>
<UFSprunjeHeader>Actions</UFSprunjeHeader>
</template>

<template #body="{ item }">
<UFSprunjeColumn>
<strong>
<RouterLink
:to="{
name: 'admin.group',
params: { slug: item.slug }
}">
{{ item.name }}
</RouterLink>
</strong>
</UFSprunjeColumn>
<UFSprunjeColumn>{{ item.description }}</UFSprunjeColumn>
<UFSprunjeColumn></UFSprunjeColumn>
</template>
</UFSprunjeTable>
</UFCardBox>
</template>
38 changes: 37 additions & 1 deletion app/assets/views/PermissionsView.vue
Original file line number Diff line number Diff line change
@@ -1,3 +1,39 @@
<template>
<UFHeaderPage title="Permissions" />
<UFHeaderPage
title="Permissions"
caption="A listing of the permissions for your site. Provides management tools for editing and deleting permissions." />

<UFCardBox>
<UFSprunjeTable dataUrl="/api/permissions">
<template #header>
<UFSprunjeHeader>Permission</UFSprunjeHeader>
<UFSprunjeHeader>Slug/Condition</UFSprunjeHeader>
</template>

<template #body="{ item }">
<UFSprunjeColumn>
<strong>
<RouterLink
:to="{
name: 'admin.permission',
params: { id: item.id }
}">
{{ item.name }}
</RouterLink>
</strong>
</UFSprunjeColumn>
<UFSprunjeColumn>
<div>
<code>{{item.slug}}</code>
</div>
<div>
↳ <code>{{item.conditions}}</code>
</div>
<div>
<i>{{item.description}}</i>
</div>
</UFSprunjeColumn>
</template>
</UFSprunjeTable>
</UFCardBox>
</template>
30 changes: 29 additions & 1 deletion app/assets/views/RolesView.vue
Original file line number Diff line number Diff line change
@@ -1,3 +1,31 @@
<template>
<UFHeaderPage title="Roles" />
<UFHeaderPage
title="Roles"
caption="A listing of the roles for your site. Provides management tools for editing and deleting roles." />

<UFCardBox>
<UFSprunjeTable dataUrl="/api/roles">
<template #header>
<UFSprunjeHeader>Role</UFSprunjeHeader>
<UFSprunjeHeader>Description</UFSprunjeHeader>
<UFSprunjeHeader>Actions</UFSprunjeHeader>
</template>

<template #body="{ item }">
<UFSprunjeColumn>
<strong>
<RouterLink
:to="{
name: 'admin.role',
params: { slug: item.slug }
}">
{{ item.name }}
</RouterLink>
</strong>
</UFSprunjeColumn>
<UFSprunjeColumn>{{ item.description }}</UFSprunjeColumn>
<UFSprunjeColumn></UFSprunjeColumn>
</template>
</UFSprunjeTable>
</UFCardBox>
</template>
40 changes: 35 additions & 5 deletions app/assets/views/UsersView.vue
Original file line number Diff line number Diff line change
@@ -1,13 +1,43 @@
<script setup>
import moment from 'moment'
</script>

<template>
<UFHeaderPage
title="Users"
caption="A listing of the users for your site. Provides management tools including the ability to
edit user details, manually activate users, enable/disable users, and more." />

<UFCardBox>
<template #header> <font-awesome-icon icon="user" /> Users </template>
<template #footer>
<a href="#" class="uk-button uk-button-primary">Create User</a>
</template>
<UFCardBox>
<UFSprunjeTable dataUrl="/api/users">
<template #header>
<UFSprunjeHeader>User</UFSprunjeHeader>
<UFSprunjeHeader>Last Activity</UFSprunjeHeader>
<UFSprunjeHeader>Status</UFSprunjeHeader>
<UFSprunjeHeader>Actions</UFSprunjeHeader>
</template>

<template #body="{ item }">
<UFSprunjeColumn>
<strong>
<RouterLink
:to="{
name: 'admin.user',
params: { user_name: item.user_name }
}">
{{ item.full_name }} ({{ item.user_name }})
</RouterLink>
</strong>
<div class="uk-text-meta">{{ item.email }}</div>
</UFSprunjeColumn>
<UFSprunjeColumn>
<div>{{ moment(item.last_activity.occurred_at).format('dddd') }}</div>
<div>{{ moment(item.last_activity.occurred_at).format('MMM Do, YYYY h:mm a') }}</div>
<i>{{ item.last_activity.description }}</i>
</UFSprunjeColumn>
<UFSprunjeColumn></UFSprunjeColumn>
<UFSprunjeColumn></UFSprunjeColumn>
</template>
</UFSprunjeTable>
</UFCardBox>
</template>
1 change: 1 addition & 0 deletions dist/GroupsView-CHH2UtUT.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),i={};function p(_,t){const l=e.resolveComponent("UFHeaderPage"),o=e.resolveComponent("UFSprunjeHeader"),a=e.resolveComponent("RouterLink"),n=e.resolveComponent("UFSprunjeColumn"),u=e.resolveComponent("UFSprunjeTable"),d=e.resolveComponent("UFCardBox");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(l,{title:"Groups",caption:"A listing of the groups for your site. Provides management tools for editing and deleting groups."}),e.createVNode(d,null,{default:e.withCtx(()=>[e.createVNode(u,{dataUrl:"/api/groups"},{header:e.withCtx(()=>[e.createVNode(o,null,{default:e.withCtx(()=>t[0]||(t[0]=[e.createTextVNode("Groups")])),_:1}),e.createVNode(o,null,{default:e.withCtx(()=>t[1]||(t[1]=[e.createTextVNode("Description")])),_:1}),e.createVNode(o,null,{default:e.withCtx(()=>t[2]||(t[2]=[e.createTextVNode("Actions")])),_:1})]),body:e.withCtx(({item:r})=>[e.createVNode(n,null,{default:e.withCtx(()=>[e.createElementVNode("strong",null,[e.createVNode(a,{to:{name:"admin.group",params:{slug:r.slug}}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.name),1)]),_:2},1032,["to"])])]),_:2},1024),e.createVNode(n,null,{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(r.description),1)]),_:2},1024),e.createVNode(n)]),_:1})]),_:1})],64)}const c=s._export_sfc(i,[["render",p]]);exports.default=c;
1 change: 0 additions & 1 deletion dist/GroupsView-CzDUEcfF.cjs

This file was deleted.

71 changes: 71 additions & 0 deletions dist/GroupsView-DzvpkAn1.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,71 @@
import { resolveComponent as t, openBlock as m, createElementBlock as c, Fragment as f, createVNode as e, withCtx as n, createTextVNode as r, createElementVNode as g, toDisplayString as s } from "vue";
import { _ as F } from "./_plugin-vue_export-helper-CHgC5LLL.js";
const U = {};
function x(S, o) {
const p = t("UFHeaderPage"), l = t("UFSprunjeHeader"), d = t("RouterLink"), u = t("UFSprunjeColumn"), i = t("UFSprunjeTable"), _ = t("UFCardBox");
return m(), c(f, null, [
e(p, {
title: "Groups",
caption: "A listing of the groups for your site. Provides management tools for editing and deleting groups."
}),
e(_, null, {
default: n(() => [
e(i, { dataUrl: "/api/groups" }, {
header: n(() => [
e(l, null, {
default: n(() => o[0] || (o[0] = [
r("Groups")
])),
_: 1
}),
e(l, null, {
default: n(() => o[1] || (o[1] = [
r("Description")
])),
_: 1
}),
e(l, null, {
default: n(() => o[2] || (o[2] = [
r("Actions")
])),
_: 1
})
]),
body: n(({ item: a }) => [
e(u, null, {
default: n(() => [
g("strong", null, [
e(d, {
to: {
name: "admin.group",
params: { slug: a.slug }
}
}, {
default: n(() => [
r(s(a.name), 1)
]),
_: 2
}, 1032, ["to"])
])
]),
_: 2
}, 1024),
e(u, null, {
default: n(() => [
r(s(a.description), 1)
]),
_: 2
}, 1024),
e(u)
]),
_: 1
})
]),
_: 1
})
], 64);
}
const k = /* @__PURE__ */ F(U, [["render", x]]);
export {
k as default
};
11 changes: 0 additions & 11 deletions dist/GroupsView-ataIckLA.js

This file was deleted.

1 change: 0 additions & 1 deletion dist/PermissionsView-DOi16Mng.cjs

This file was deleted.

73 changes: 73 additions & 0 deletions dist/PermissionsView-DTXYw4jD.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
import { resolveComponent as l, openBlock as c, createElementBlock as f, Fragment as g, createVNode as n, withCtx as e, createTextVNode as i, createElementVNode as o, toDisplayString as s } from "vue";
import { _ as F } from "./_plugin-vue_export-helper-CHgC5LLL.js";
const U = {};
function S(x, t) {
const a = l("UFHeaderPage"), d = l("UFSprunjeHeader"), p = l("RouterLink"), u = l("UFSprunjeColumn"), m = l("UFSprunjeTable"), _ = l("UFCardBox");
return c(), f(g, null, [
n(a, {
title: "Permissions",
caption: "A listing of the permissions for your site. Provides management tools for editing and deleting permissions."
}),
n(_, null, {
default: e(() => [
n(m, { dataUrl: "/api/permissions" }, {
header: e(() => [
n(d, null, {
default: e(() => t[0] || (t[0] = [
i("Permission")
])),
_: 1
}),
n(d, null, {
default: e(() => t[1] || (t[1] = [
i("Slug/Condition")
])),
_: 1
})
]),
body: e(({ item: r }) => [
n(u, null, {
default: e(() => [
o("strong", null, [
n(p, {
to: {
name: "admin.permission",
params: { id: r.id }
}
}, {
default: e(() => [
i(s(r.name), 1)
]),
_: 2
}, 1032, ["to"])
])
]),
_: 2
}, 1024),
n(u, null, {
default: e(() => [
o("div", null, [
o("code", null, s(r.slug), 1)
]),
o("div", null, [
t[2] || (t[2] = i(" ↳ ")),
o("code", null, s(r.conditions), 1)
]),
o("div", null, [
o("i", null, s(r.description), 1)
])
]),
_: 2
}, 1024)
]),
_: 1
})
]),
_: 1
})
], 64);
}
const P = /* @__PURE__ */ F(U, [["render", S]]);
export {
P as default
};
11 changes: 0 additions & 11 deletions dist/PermissionsView-Gx0ZJBxu.js

This file was deleted.

1 change: 1 addition & 0 deletions dist/PermissionsView-acweHORb.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),s=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),u={};function c(m,t){const l=e.resolveComponent("UFHeaderPage"),n=e.resolveComponent("UFSprunjeHeader"),i=e.resolveComponent("RouterLink"),r=e.resolveComponent("UFSprunjeColumn"),d=e.resolveComponent("UFSprunjeTable"),a=e.resolveComponent("UFCardBox");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createVNode(l,{title:"Permissions",caption:"A listing of the permissions for your site. Provides management tools for editing and deleting permissions."}),e.createVNode(a,null,{default:e.withCtx(()=>[e.createVNode(d,{dataUrl:"/api/permissions"},{header:e.withCtx(()=>[e.createVNode(n,null,{default:e.withCtx(()=>t[0]||(t[0]=[e.createTextVNode("Permission")])),_:1}),e.createVNode(n,null,{default:e.withCtx(()=>t[1]||(t[1]=[e.createTextVNode("Slug/Condition")])),_:1})]),body:e.withCtx(({item:o})=>[e.createVNode(r,null,{default:e.withCtx(()=>[e.createElementVNode("strong",null,[e.createVNode(i,{to:{name:"admin.permission",params:{id:o.id}}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.name),1)]),_:2},1032,["to"])])]),_:2},1024),e.createVNode(r,null,{default:e.withCtx(()=>[e.createElementVNode("div",null,[e.createElementVNode("code",null,e.toDisplayString(o.slug),1)]),e.createElementVNode("div",null,[t[2]||(t[2]=e.createTextVNode(" ↳ ")),e.createElementVNode("code",null,e.toDisplayString(o.conditions),1)]),e.createElementVNode("div",null,[e.createElementVNode("i",null,e.toDisplayString(o.description),1)])]),_:2},1024)]),_:1})]),_:1})],64)}const p=s._export_sfc(u,[["render",c]]);exports.default=p;
Loading

0 comments on commit 6f45931

Please sign in to comment.