distribusi-verse: medium-tech web app content management system for the web
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

64 lines
1.8 KiB

import os
import shutil
from flask import flash
from flask_login import current_user
from usermodel import User
from distribusimodel import Distribusis
from forms.selectorform import SelectorForm
from statuspengguna.helper import HasDistribusi
from statuspengguna.helper import DistribusiSelected
from statuspengguna.helper import SelectCurrentDistribusi
from app import db
def SelectNewDistribusi():
print("make a new distribusi")
selectorform = SelectorForm()
SelectCurrentDistribusi("new")
return selectorform
def SelectUpdateDistribusi(distribusiname):
print(f"Update this distribusi {distribusiname}")
selectorform = SelectorForm()
SelectCurrentDistribusi(distribusiname)
return selectorform
def DeleteDistribusi(distribusiname):
print(f"delete this distribusi {distribusiname}")
selectorform = SelectorForm()
try:
user = User.query.filter_by(email=current_user.email).first()
distribusi = Distribusis.query.filter_by(
distribusiname=distribusiname
).first()
if distribusi.userid is user.id:
db.session.delete(distribusi)
db.session.commit()
userfolder = os.path.join("stash", distribusi.distribusiname)
shutil.rmtree(userfolder)
cssfolder = os.path.join(
"themes/userstyles",
distribusi.distribusiname
)
shutil.rmtree(cssfolder)
except:
db.session.rollback()
selectorform.distribusis.errors.append("Unknown error occured!")
flash("An error occured !", "danger")
return selectorform
def SelectorVisible():
has_distribusi = HasDistribusi()
distribusi_selected = DistribusiSelected()
if distribusi_selected:
return False
if not has_distribusi:
return False
return True