This commit is contained in:
ariska committed 2024-11-19 13:00:24 +07:00
commit 45e3c1f698
3462 files changed
+617437

No files matched your search

View File
Whitespace-only changes.
+8
View File
@@ -0,0 +1,8 @@
from django.contrib import admin
from settings.models import *
admin.site.register(websiteSetting)
admin.site.register(SeoSetting)
admin.site.register(headerFooterSetting)
+6
View File
@@ -0,0 +1,6 @@
from django.apps import AppConfig
class SettingsConfig(AppConfig):
default_auto_field = 'django.db.models.BigAutoField'
name = 'settings'
+52
View File
@@ -0,0 +1,52 @@
from django import forms
from settings.models import *
class websiteSettingForm(forms.ModelForm):
class Meta:
model = websiteSetting
fields = '__all__'
widgets = {
'facebook_pixel_code' : forms.Textarea(attrs={'rows':6}),
'facebook_chat_code' : forms.Textarea(attrs={'rows':6}),
'map_iframe' : forms.Textarea(attrs={'rows':4}),
'custom_css' : forms.Textarea(attrs={'rows':6}),
'custom_js' : forms.Textarea(attrs={'rows':6}),
'whatsapp_is_active' : forms.CheckboxInput(attrs={'type' : 'checkbox'}),
'facebook_chat_is_active' : forms.CheckboxInput(attrs={'type' : 'checkbox'}),
'slider_particle_is_active' : forms.CheckboxInput(attrs={'type' : 'checkbox'}),
'default_menu_is_active' : forms.CheckboxInput(attrs={'type' : 'checkbox'}),
'magic_cursor_is_active' : forms.CheckboxInput(attrs={'type' : 'checkbox'}),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.fields.values():
field.widget.attrs['class'] = 'form-control'
class SeoSettingForm(forms.ModelForm):
class Meta:
model = SeoSetting
fields = '__all__'
widgets = {
'meta_description' : forms.Textarea(attrs={'rows':3}),
'seo_keywords' : forms.Textarea(attrs={'rows':4, 'placeholder' : 'software,application,marketer,developer'}),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.fields.values():
field.widget.attrs['class'] = 'form-control'
class headerFooterSettingForm(forms.ModelForm):
class Meta:
model = headerFooterSetting
fields = '__all__'
widgets = {
'footer_col1_description' : forms.Textarea(attrs={'rows':4}),
}
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
for field in self.fields.values():
field.widget.attrs['class'] = 'form-control'
+68
View File
@@ -0,0 +1,68 @@
# Generated by Django 4.2.4 on 2023-09-03 18:50
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='headerFooterSetting',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('header_button_text', models.CharField(max_length=200)),
('header_button_url', models.CharField(max_length=1000)),
('footer_col1_description', models.TextField()),
('facebook', models.CharField(max_length=1000)),
('instagram', models.CharField(max_length=1000)),
('linkedin', models.CharField(max_length=1000)),
('twitter', models.CharField(max_length=1000)),
('quick_link_title', models.CharField(max_length=300)),
('quick_link_description', models.TextField()),
('footer_copyright', models.CharField(max_length=500)),
],
),
migrations.CreateModel(
name='SeoSetting',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('meta_title', models.CharField(max_length=500)),
('meta_description', models.TextField()),
('seo_keywords', models.TextField(default='software,application,marketer,developer')),
('meta_image', models.ImageField(upload_to='app_config/')),
('social_share_image', models.ImageField(upload_to='app_config/')),
],
),
migrations.CreateModel(
name='websiteSetting',
fields=[
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(default='Application Name', max_length=500)),
('logo', models.ImageField(upload_to='app_config/')),
('favicon', models.ImageField(upload_to='app_config/')),
('author', models.CharField(blank=True, default='Author Name', max_length=200, null=True)),
('email_address', models.EmailField(default='test@gmail.com', max_length=500)),
('phone', models.CharField(default='88012454784', max_length=20)),
('price_ragne', models.CharField(default='60$ to 7000$', max_length=50)),
('address', models.CharField(default='Your Address', max_length=700)),
('city', models.CharField(default='Your City', max_length=200)),
('country', models.CharField(default='Your Country', max_length=300)),
('state', models.CharField(default='Your State', max_length=200)),
('postal', models.IntegerField(default=12345)),
('analytics_code', models.CharField(blank=True, default='GA_MEASUREMENT_ID', max_length=300, null=True)),
('facebook_pixel_code', models.TextField(blank=True, null=True)),
('facebook_chat_code', models.TextField(blank=True, null=True)),
('whatsapp_is_active', models.BooleanField(default=True)),
('messenger_is_active', models.BooleanField(default=True)),
('custom_css', models.TextField(blank=True, null=True)),
('custom_js', models.TextField(blank=True, null=True)),
('currency_name', models.CharField(blank=True, default='Currency Name', max_length=100, null=True)),
('currency_symbol', models.CharField(blank=True, default='Currency Symbol', max_length=150, null=True)),
],
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.4 on 2023-09-03 18:51
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('settings', '0001_initial'),
]
operations = [
migrations.RenameField(
model_name='websitesetting',
old_name='messenger_is_active',
new_name='facebook_chat_is_active',
),
]
@@ -0,0 +1,19 @@
# Generated by Django 4.2.4 on 2023-09-03 18:52
import ckeditor.fields
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('settings', '0002_rename_messenger_is_active_websitesetting_facebook_chat_is_active'),
]
operations = [
migrations.AlterField(
model_name='headerfootersetting',
name='footer_col1_description',
field=ckeditor.fields.RichTextField(),
),
]
@@ -0,0 +1,24 @@
# Generated by Django 4.2.4 on 2023-09-03 18:53
import ckeditor.fields
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0003_alter_headerfootersetting_footer_col1_description'),
]
operations = [
migrations.AlterField(
model_name='headerfootersetting',
name='footer_col1_description',
field=models.TextField(),
),
migrations.AlterField(
model_name='headerfootersetting',
name='quick_link_description',
field=ckeditor.fields.RichTextField(),
),
]
@@ -0,0 +1,24 @@
# Generated by Django 4.2.4 on 2023-09-04 14:03
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0004_alter_headerfootersetting_footer_col1_description_and_more'),
]
operations = [
migrations.RenameField(
model_name='websitesetting',
old_name='logo',
new_name='logo_dark',
),
migrations.AddField(
model_name='websitesetting',
name='logo_light',
field=models.ImageField(default='', upload_to='app_config/'),
preserve_default=False,
),
]
@@ -0,0 +1,21 @@
# Generated by Django 4.2.4 on 2023-09-04 14:17
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('settings', '0005_rename_logo_websitesetting_logo_dark_and_more'),
]
operations = [
migrations.RemoveField(
model_name='headerfootersetting',
name='quick_link_description',
),
migrations.RemoveField(
model_name='headerfootersetting',
name='quick_link_title',
),
]
@@ -0,0 +1,33 @@
# Generated by Django 4.2.4 on 2023-09-04 14:34
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0006_remove_headerfootersetting_quick_link_description_and_more'),
]
operations = [
migrations.AlterField(
model_name='headerfootersetting',
name='facebook',
field=models.CharField(blank=True, max_length=1000, null=True),
),
migrations.AlterField(
model_name='headerfootersetting',
name='instagram',
field=models.CharField(blank=True, max_length=1000, null=True),
),
migrations.AlterField(
model_name='headerfootersetting',
name='linkedin',
field=models.CharField(blank=True, max_length=1000, null=True),
),
migrations.AlterField(
model_name='headerfootersetting',
name='twitter',
field=models.CharField(blank=True, max_length=1000, null=True),
),
]
@@ -0,0 +1,17 @@
# Generated by Django 4.2.4 on 2023-09-15 10:23
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('settings', '0007_alter_headerfootersetting_facebook_and_more'),
]
operations = [
migrations.RemoveField(
model_name='seosetting',
name='social_share_image',
),
]
@@ -0,0 +1,28 @@
# Generated by Django 4.2.4 on 2023-09-15 10:27
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0008_remove_seosetting_social_share_image'),
]
operations = [
migrations.AlterField(
model_name='seosetting',
name='meta_description',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='seosetting',
name='meta_image',
field=models.ImageField(blank=True, null=True, upload_to='app_config/'),
),
migrations.AlterField(
model_name='seosetting',
name='meta_title',
field=models.CharField(blank=True, max_length=500, null=True),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.4 on 2023-09-17 09:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0009_alter_seosetting_meta_description_and_more'),
]
operations = [
migrations.AddField(
model_name='websitesetting',
name='map_iframe',
field=models.CharField(blank=True, max_length=2000, null=True),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.4 on 2023-09-17 09:13
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0010_websitesetting_map_iframe'),
]
operations = [
migrations.AlterField(
model_name='websitesetting',
name='map_iframe',
field=models.TextField(blank=True, null=True),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.4 on 2023-09-18 15:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0011_alter_websitesetting_map_iframe'),
]
operations = [
migrations.AddField(
model_name='websitesetting',
name='slider_particle_is_active',
field=models.BooleanField(default=True),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.4 on 2023-09-18 17:42
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0012_websitesetting_slider_particle_is_active'),
]
operations = [
migrations.AddField(
model_name='websitesetting',
name='custom_menu_is_active',
field=models.BooleanField(default=False),
),
]
@@ -0,0 +1,22 @@
# Generated by Django 4.2.4 on 2023-09-18 17:43
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0013_websitesetting_custom_menu_is_active'),
]
operations = [
migrations.RemoveField(
model_name='websitesetting',
name='custom_menu_is_active',
),
migrations.AddField(
model_name='websitesetting',
name='default_menu_is_active',
field=models.BooleanField(default=True),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.4 on 2023-09-18 18:38
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0014_remove_websitesetting_custom_menu_is_active_and_more'),
]
operations = [
migrations.AddField(
model_name='websitesetting',
name='magic_cursor_is_active',
field=models.BooleanField(default=True),
),
]
@@ -0,0 +1,23 @@
# Generated by Django 4.2.4 on 2023-09-20 10:14
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0015_websitesetting_magic_cursor_is_active'),
]
operations = [
migrations.AddField(
model_name='websitesetting',
name='contact_form_image',
field=models.ImageField(blank=True, null=True, upload_to='app_config/'),
),
migrations.AlterField(
model_name='websitesetting',
name='price_ragne',
field=models.CharField(blank=True, default='60$ to 7000$', max_length=50, null=True),
),
]
@@ -0,0 +1,93 @@
# Generated by Django 4.2.4 on 2023-10-18 05:15
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0016_websitesetting_contact_form_image_and_more'),
]
operations = [
migrations.AlterField(
model_name='headerfootersetting',
name='footer_col1_description',
field=models.TextField(blank=True, null=True),
),
migrations.AlterField(
model_name='headerfootersetting',
name='footer_copyright',
field=models.CharField(blank=True, max_length=500, null=True),
),
migrations.AlterField(
model_name='headerfootersetting',
name='header_button_text',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AlterField(
model_name='headerfootersetting',
name='header_button_url',
field=models.CharField(blank=True, max_length=1000, null=True),
),
migrations.AlterField(
model_name='seosetting',
name='seo_keywords',
field=models.TextField(blank=True, default='software,application,marketer,developer', null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='address',
field=models.CharField(blank=True, default='Your Address', max_length=700, null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='city',
field=models.CharField(blank=True, default='Your City', max_length=200, null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='country',
field=models.CharField(blank=True, default='Your Country', max_length=300, null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='email_address',
field=models.EmailField(blank=True, default='test@gmail.com', max_length=500, null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='favicon',
field=models.ImageField(blank=True, null=True, upload_to='app_config/'),
),
migrations.AlterField(
model_name='websitesetting',
name='logo_dark',
field=models.ImageField(blank=True, null=True, upload_to='app_config/'),
),
migrations.AlterField(
model_name='websitesetting',
name='logo_light',
field=models.ImageField(blank=True, null=True, upload_to='app_config/'),
),
migrations.AlterField(
model_name='websitesetting',
name='name',
field=models.CharField(blank=True, default='Application Name', max_length=500, null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='phone',
field=models.CharField(blank=True, default='88012454784', max_length=20, null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='postal',
field=models.IntegerField(blank=True, default=12345, null=True),
),
migrations.AlterField(
model_name='websitesetting',
name='state',
field=models.CharField(blank=True, default='Your State', max_length=200, null=True),
),
]
@@ -0,0 +1,18 @@
# Generated by Django 4.2.6 on 2023-10-29 08:22
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0017_alter_headerfootersetting_footer_col1_description_and_more'),
]
operations = [
migrations.AddField(
model_name='websitesetting',
name='show_call_now_widget',
field=models.BooleanField(default=True),
),
]
@@ -0,0 +1,28 @@
# Generated by Django 4.2.6 on 2023-10-29 10:23
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0018_websitesetting_show_call_now_widget'),
]
operations = [
migrations.AddField(
model_name='websitesetting',
name='twilio_auth_token',
field=models.CharField(blank=True, max_length=500, null=True),
),
migrations.AddField(
model_name='websitesetting',
name='twilio_from_number',
field=models.CharField(blank=True, max_length=15, null=True),
),
migrations.AddField(
model_name='websitesetting',
name='twilio_sid',
field=models.CharField(blank=True, max_length=500, null=True),
),
]
@@ -0,0 +1,62 @@
# Generated by Django 4.2.6 on 2023-10-29 13:18
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('settings', '0019_websitesetting_twilio_auth_token_and_more'),
]
operations = [
migrations.RenameField(
model_name='headerfootersetting',
old_name='facebook',
new_name='social1_link',
),
migrations.RenameField(
model_name='headerfootersetting',
old_name='instagram',
new_name='social2_link',
),
migrations.RenameField(
model_name='headerfootersetting',
old_name='linkedin',
new_name='social3_link',
),
migrations.RemoveField(
model_name='headerfootersetting',
name='twitter',
),
migrations.AddField(
model_name='headerfootersetting',
name='social1_icon',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AddField(
model_name='headerfootersetting',
name='social2_icon',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AddField(
model_name='headerfootersetting',
name='social3_icon',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AddField(
model_name='headerfootersetting',
name='social4_icon',
field=models.CharField(blank=True, max_length=200, null=True),
),
migrations.AddField(
model_name='headerfootersetting',
name='social4_link',
field=models.CharField(blank=True, max_length=1000, null=True),
),
migrations.AddField(
model_name='seosetting',
name='tag_line',
field=models.CharField(blank=True, max_length=600, null=True),
),
]
View File
Whitespace-only changes.
+80
View File
@@ -0,0 +1,80 @@
from django.db import models
from ckeditor.fields import RichTextField
class websiteSetting(models.Model):
# General Settings
name = models.CharField(max_length=500, default='Application Name', blank=True, null=True)
author = models.CharField(max_length=200, default='Author Name', blank=True, null=True)
currency_name = models.CharField(max_length=100, blank=True, null=True, default='Currency Name')
currency_symbol = models.CharField(max_length=150, blank=True, null =True, default='Currency Symbol')
show_call_now_widget = models.BooleanField(default=True)
# Logo Settings
logo_light = models.ImageField(upload_to='app_config/', blank=True, null=True)
logo_dark = models.ImageField(upload_to='app_config/', blank=True, null=True)
favicon = models.ImageField(upload_to='app_config/', blank=True, null=True)
# Contact Settings
email_address = models.EmailField(max_length=500, default='test@gmail.com', blank=True, null=True)
phone = models.CharField(max_length=20, default='88012454784', blank=True, null=True)
price_ragne = models.CharField(max_length=50, default='60$ to 7000$', blank=True, null=True)
address = models.CharField(max_length=700, default='Your Address', blank=True, null=True)
city = models.CharField(max_length=200, default='Your City', blank=True, null=True)
country = models.CharField(max_length=300, default='Your Country', blank=True, null=True)
state = models.CharField(max_length=200, default='Your State', blank=True, null=True)
postal = models.IntegerField(default=12345, blank=True, null=True)
map_iframe = models.TextField(blank=True, null=True)
contact_form_image = models.ImageField(upload_to='app_config/', blank=True, null=True)
analytics_code = models.CharField(max_length=300, blank=True, null=True, default="GA_MEASUREMENT_ID")
facebook_pixel_code = models.TextField(blank=True, null=True)
facebook_chat_code = models.TextField(blank=True, null=True)
whatsapp_is_active = models.BooleanField(default=True)
facebook_chat_is_active = models.BooleanField(default=True)
slider_particle_is_active = models.BooleanField(default=True)
default_menu_is_active = models.BooleanField(default=True)
magic_cursor_is_active = models.BooleanField(default=True)
custom_css = models.TextField(blank=True, null=True)
custom_js = models.TextField(blank=True, null=True)
twilio_sid = models.CharField(max_length=500, blank=True, null=True)
twilio_auth_token = models.CharField(max_length=500, blank=True, null=True)
twilio_from_number = models.CharField(max_length=15, blank=True, null=True)
def __str__(self):
return 'Website Setting Configs'
class SeoSetting(models.Model):
meta_title = models.CharField(max_length=500, blank=True, null=True)
tag_line = models.CharField(max_length=600, blank=True, null=True)
meta_description = models.TextField(blank=True, null=True)
seo_keywords = models.TextField(default='software,application,marketer,developer', blank=True, null=True)
meta_image = models.ImageField(upload_to='app_config/', blank=True, null=True)
def __str__(self):
return 'SEO Setting Configs'
class headerFooterSetting(models.Model):
header_button_text = models.CharField(max_length=200, blank=True, null=True)
header_button_url = models.CharField(max_length=1000, blank=True, null=True)
footer_col1_description = models.TextField(blank=True, null=True)
social1_icon = models.CharField(max_length=200, blank=True, null=True)
social1_link = models.CharField(max_length=1000, blank=True, null=True)
social2_icon = models.CharField(max_length=200, blank=True, null=True)
social2_link = models.CharField(max_length=1000, blank=True, null=True)
social3_icon = models.CharField(max_length=200, blank=True, null=True)
social3_link = models.CharField(max_length=1000, blank=True, null=True)
social4_icon = models.CharField(max_length=200, blank=True, null=True)
social4_link = models.CharField(max_length=1000, blank=True, null=True)
footer_copyright = models.CharField(max_length=500, blank=True, null=True)
def __str__(self):
return 'Header Footer Setting Configs'
+3
View File
@@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.
+3
View File
@@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.