feat: allow regular users to view the install page

This commit is contained in:
Vlad Stan 2023-01-19 12:16:44 +02:00
parent 4d87246811
commit db73a51c74
3 changed files with 32 additions and 24 deletions

View file

@ -5,7 +5,6 @@
<div class="row q-col-gutter-md q-mb-md"> <div class="row q-col-gutter-md q-mb-md">
<div class="col-sm-7 col-xs-6 mt-lg"> <div class="col-sm-7 col-xs-6 mt-lg">
<q-btn <q-btn
v-if="g.user.admin"
type="a" type="a"
:href="['/install?usr=', g.user.id].join('')" :href="['/install?usr=', g.user.id].join('')"
color="primary unelevated mt-lg pt-lg" color="primary unelevated mt-lg pt-lg"
@ -66,6 +65,14 @@
</q-card-section> </q-card-section>
<q-card-section> <q-card-section>
<div> <div>
<q-rating
class="gt-sm"
v-model="maxStars"
disable
size="2em"
:max="5"
color="primary"
></q-rating>
<q-rating <q-rating
v-model="maxStars" v-model="maxStars"
class="lt-md" class="lt-md"

View file

@ -83,20 +83,22 @@
<q-separator></q-separator> <q-separator></q-separator>
<q-card-actions> <q-card-actions>
<div class="col-10"> <div class="col-10">
<div v-if="!extension.inProgress"> <div v-if="g.user.admin">
<q-btn @click="showUpgrade(extension)" flat color="primary"> <div v-if="!extension.inProgress">
Manage</q-btn <q-btn @click="showUpgrade(extension)" flat color="primary">
> Manage</q-btn
<q-toggle >
v-if="extension.isAvailable" <q-toggle
:label="extension.isActive ? 'Activated': 'Deactivated' " v-if="extension.isAvailable"
color="secodary" :label="extension.isActive ? 'Activated': 'Deactivated' "
v-model="extension.isActive" color="secodary"
@input="toggleExtension(extension)" v-model="extension.isActive"
></q-toggle> @input="toggleExtension(extension)"
</div> ></q-toggle>
<div v-else> </div>
<q-spinner color="primary" size="2.55em"></q-spinner> <div v-else>
<q-spinner color="primary" size="2.55em"></q-spinner>
</div>
</div> </div>
</div> </div>

View file

@ -71,7 +71,7 @@ async def extensions(
) )
async def extensions_install( async def extensions_install(
request: Request, request: Request,
user: User = Depends(check_admin), user: User = Depends(check_user_exists),
activate: str = Query(None), activate: str = Query(None),
deactivate: str = Query(None), deactivate: str = Query(None),
): ):
@ -101,15 +101,14 @@ async def extensions_install(
installable_exts = [] installable_exts = []
try: try:
if deactivate:
settings.lnbits_disabled_extensions += [deactivate]
elif activate:
settings.lnbits_disabled_extensions = list(
filter(lambda e: e != activate, settings.lnbits_disabled_extensions)
)
ext_id = activate or deactivate ext_id = activate or deactivate
if ext_id: if ext_id and user.admin:
if deactivate:
settings.lnbits_disabled_extensions += [deactivate]
elif activate:
settings.lnbits_disabled_extensions = list(
filter(lambda e: e != activate, settings.lnbits_disabled_extensions)
)
await update_installed_extension_state( await update_installed_extension_state(
ext_id=ext_id, active=activate != None ext_id=ext_id, active=activate != None
) )