Merge pull request #7 from apoclyps/docker-support

[ISSUE-3] Adding docker support
This commit is contained in:
2019-07-25 22:06:52 +01:00
committed by Apoclyps
54 changed files with 2106 additions and 1476 deletions

View File

@@ -7,214 +7,137 @@ from comic.models import Setting
class InitialSetupForm(forms.Form):
username = forms.CharField(help_text='Username',
widget=forms.TextInput(
attrs={
'class': 'form-control',
}
))
email = forms.CharField(help_text='Email Address',
widget=forms.TextInput(
attrs={
'class': 'form-control'
}
))
password = forms.CharField(help_text='New Password',
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
}
))
password_confirm = forms.CharField(help_text='New Password Confirmation',
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
}
))
base_dir = forms.CharField(help_text='Base Directory',
widget=forms.TextInput(
attrs={
'class': 'form-control'
}
))
username = forms.CharField(help_text="Username", widget=forms.TextInput(attrs={"class": "form-control"}))
email = forms.CharField(help_text="Email Address", widget=forms.TextInput(attrs={"class": "form-control"}))
password = forms.CharField(help_text="New Password", widget=forms.PasswordInput(attrs={"class": "form-control"}))
password_confirm = forms.CharField(
help_text="New Password Confirmation", widget=forms.PasswordInput(attrs={"class": "form-control"})
)
base_dir = forms.CharField(help_text="Base Directory", widget=forms.TextInput(attrs={"class": "form-control"}))
def clean_base_dir(self):
data = self.cleaned_data['base_dir']
data = self.cleaned_data["base_dir"]
if not path.isdir(data):
raise forms.ValidationError('This is not a valid Directory')
raise forms.ValidationError("This is not a valid Directory")
return data
def clean(self):
form_data = self.cleaned_data
if form_data['password'] != form_data['password_confirm']:
raise forms.ValidationError('Passwords do not match.')
if len(form_data['password']) < 8:
raise forms.ValidationError('Password is too short')
if form_data["password"] != form_data["password_confirm"]:
raise forms.ValidationError("Passwords do not match.")
if len(form_data["password"]) < 8:
raise forms.ValidationError("Password is too short")
return form_data
class AccountForm(forms.Form):
username = forms.CharField(help_text='Username',
required=False,
widget=forms.TextInput(
attrs={
'class': 'form-control disabled',
'readonly': True,
}
))
email = forms.CharField(help_text='Email Address',
widget=forms.TextInput(
attrs={
'class': 'form-control'
}
))
password = forms.CharField(help_text='New Password',
required=False,
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
}
))
password_confirm = forms.CharField(help_text='New Password Confirmation',
required=False,
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
}
))
username = forms.CharField(
help_text="Username",
required=False,
widget=forms.TextInput(attrs={"class": "form-control disabled", "readonly": True}),
)
email = forms.CharField(help_text="Email Address", widget=forms.TextInput(attrs={"class": "form-control"}))
password = forms.CharField(
help_text="New Password", required=False, widget=forms.PasswordInput(attrs={"class": "form-control"})
)
password_confirm = forms.CharField(
help_text="New Password Confirmation",
required=False,
widget=forms.PasswordInput(attrs={"class": "form-control"}),
)
def clean_email(self):
data = self.cleaned_data['email']
user = User.objects.get(username=self.cleaned_data['username'])
data = self.cleaned_data["email"]
user = User.objects.get(username=self.cleaned_data["username"])
if data == user.email:
return data
if User.objects.filter(email=data).exists():
raise forms.ValidationError('Email Address is in use')
raise forms.ValidationError("Email Address is in use")
return data
def clean(self):
form_data = self.cleaned_data
if form_data['password'] != form_data['password_confirm']:
raise forms.ValidationError('Passwords do not match.')
if len(form_data['password']) < 8 & len(form_data['password']) != 0:
raise forms.ValidationError('Password is too short')
if form_data["password"] != form_data["password_confirm"]:
raise forms.ValidationError("Passwords do not match.")
if len(form_data["password"]) < 8 & len(form_data["password"]) != 0:
raise forms.ValidationError("Password is too short")
return form_data
class AddUserForm(forms.Form):
username = forms.CharField(help_text='Username',
widget=forms.TextInput(
attrs={
'class': 'form-control',
}
))
email = forms.CharField(help_text='Email Address',
widget=forms.TextInput(
attrs={
'class': 'form-control'
}
))
password = forms.CharField(help_text='New Password',
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
}
))
password_confirm = forms.CharField(help_text='New Password Confirmation',
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
}
))
username = forms.CharField(help_text="Username", widget=forms.TextInput(attrs={"class": "form-control"}))
email = forms.CharField(help_text="Email Address", widget=forms.TextInput(attrs={"class": "form-control"}))
password = forms.CharField(help_text="New Password", widget=forms.PasswordInput(attrs={"class": "form-control"}))
password_confirm = forms.CharField(
help_text="New Password Confirmation", widget=forms.PasswordInput(attrs={"class": "form-control"})
)
def clean_username(self):
data = self.cleaned_data['username']
data = self.cleaned_data["username"]
if User.objects.filter(username=data).exists():
raise forms.ValidationError('This username Exists.')
raise forms.ValidationError("This username Exists.")
return data
def clean_email(self):
data = self.cleaned_data['email']
data = self.cleaned_data["email"]
if User.objects.filter(email=data).exists():
raise forms.ValidationError('Email Address is in use')
raise forms.ValidationError("Email Address is in use")
return data
def clean(self):
form_data = self.cleaned_data
if form_data['password'] != form_data['password_confirm']:
raise forms.ValidationError('Passwords do not match.')
if len(form_data['password']) < 8:
raise forms.ValidationError('Password is too short')
if form_data["password"] != form_data["password_confirm"]:
raise forms.ValidationError("Passwords do not match.")
if len(form_data["password"]) < 8:
raise forms.ValidationError("Password is too short")
return form_data
class EditUserForm(forms.Form):
username = forms.CharField(help_text='Username',
required=False,
widget=forms.TextInput(
attrs={
'class': 'form-control disabled',
'readonly': True,
}
))
email = forms.CharField(help_text='Email Address',
widget=forms.TextInput(
attrs={
'class': 'form-control'
}
))
password = forms.CharField(help_text='New Password',
required=False,
widget=forms.PasswordInput(
attrs={
'class': 'form-control',
}
))
username = forms.CharField(
help_text="Username",
required=False,
widget=forms.TextInput(attrs={"class": "form-control disabled", "readonly": True}),
)
email = forms.CharField(help_text="Email Address", widget=forms.TextInput(attrs={"class": "form-control"}))
password = forms.CharField(
help_text="New Password", required=False, widget=forms.PasswordInput(attrs={"class": "form-control"})
)
# TODO: allow setting superuser on users
@staticmethod
def get_initial_values(user):
out = {
'username': user.username,
'email': user.email
}
out = {"username": user.username, "email": user.email}
return out
def clean_email(self):
data = self.cleaned_data['email']
user = User.objects.get(username=self.cleaned_data['username'])
data = self.cleaned_data["email"]
user = User.objects.get(username=self.cleaned_data["username"])
if data == user.email:
return data
if User.objects.filter(email=data).exists():
raise forms.ValidationError('Email Address is in use')
raise forms.ValidationError("Email Address is in use")
return data
def clean_password(self):
data = self.cleaned_data['password']
data = self.cleaned_data["password"]
if len(data) < 8 & len(data) != 0:
raise forms.ValidationError('Password is too short')
raise forms.ValidationError("Password is too short")
return data
class SettingsForm(forms.Form):
base_dir = forms.CharField(help_text='Base Directory',
widget=forms.TextInput(
attrs={
'class': 'form-control'
}
))
base_dir = forms.CharField(help_text="Base Directory", widget=forms.TextInput(attrs={"class": "form-control"}))
def clean_base_dir(self):
data = self.cleaned_data['base_dir']
data = self.cleaned_data["base_dir"]
if not path.isdir(data):
raise forms.ValidationError('This is not a valid Directory')
raise forms.ValidationError("This is not a valid Directory")
return data
@staticmethod
def get_initial_values():
base_dir, _ = Setting.objects.get_or_create(name='BASE_DIR')
base_dir, _ = Setting.objects.get_or_create(name="BASE_DIR")
initial = {
'base_dir': base_dir.value,
}
initial = {"base_dir": base_dir.value}
return initial