BO 1.17 split_tests, training_plan.tree_id

This commit is contained in:
Bossanyi Tibor 2021-05-18 22:45:21 +02:00
parent cc086325fb
commit 1812fc4d52
8 changed files with 149 additions and 7 deletions

View File

@ -10,3 +10,4 @@ from .exercise_plan import ExercisePlanAdmin
from .description import DescriptionAdmin
from .training_plan import TrainingPlanAdmin, TrainingPlanDetailAdmin
from .faq import FaqAdmin
from .split_tests import SplitTestAdmin

View File

@ -0,0 +1,12 @@
from django.contrib import admin
from ..models.split_tests import SplitTests
class SplitTestAdmin(admin.ModelAdmin):
list_display = ('test_id', 'name','remote_config_key', 'remote_config_value', 'test_value', 'active', 'valid_to')
list_editable = ('name','remote_config_key', 'remote_config_value', 'test_value', 'active', 'valid_to')
admin.site.register(SplitTests, SplitTestAdmin)
admin.autodiscover()

View File

@ -13,7 +13,7 @@ class TranslationTrainingPlanInline(admin.TabularInline):
class TrainingPlanAdmin(admin.ModelAdmin):
list_display = ('training_plan_id', 'name','internal_name', 'free')
fields = ('name','description')
fields = ('tree', 'name','description', 'internal_name', 'free')
list_editable = ('name','internal_name', 'free')
inlines = [

View File

@ -13,3 +13,4 @@ from .evaluation import Evaluation, EvaluationAttribute
from .description import Description, DescriptionTranslation
from .training_plan import TrainingPlan, TrainingPlanDetail
from .faq import Faq, FaqTranslation
from .split_tests import SplitTests

View File

@ -1,12 +1,13 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
from .enums import LanguageTypes
from ckeditor.fields import RichTextField
class ExerciseTree(models.Model):
tree_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, help_text='The name should be in English here')
description = models.TextField(max_length=1000, blank=True, null=True, help_text='The description should be in '
description = RichTextField(max_length=1000, blank=True, null=True, help_text='The description should be in '
'English here')
image_url = models.ImageField(upload_to='images/', help_text='The menu image size is 1366x768')
active = models.BooleanField(default=0, blank=True, null=True)
@ -28,7 +29,7 @@ class ExerciseTreeTranslation(models.Model):
tree = models.ForeignKey(ExerciseTree, on_delete=models.CASCADE)
language_code = models.CharField(max_length=2, choices=LanguageTypes.choices, default=LanguageTypes.HU)
name = models.CharField(max_length=100)
description = models.TextField(max_length=1000, blank=True, null=True)
description = RichTextField(max_length=1000, blank=True, null=True)
class Meta:
db_table = 'exercise_tree_translation'

View File

@ -0,0 +1,20 @@
from django.db import models
from django.utils.translation import ugettext_lazy as _
class SplitTests(models.Model):
test_id = models.AutoField(primary_key=True)
name = models.CharField(max_length=50, help_text='Unique test name',
verbose_name=_("name"))
remote_config_key = models.CharField(max_length=50, blank=True)
remote_config_value = models.CharField(max_length=50, blank=True)
test_value = models.CharField(max_length=50, blank=True)
active = models.BooleanField()
valid_to = models.DateTimeField(blank=True)
class Meta:
db_table = 'split_tests'
verbose_name = _("A/B Test")
verbose_name_plural = _("A/B Tests")
def __str__(self):
return self.name

View File

@ -3,11 +3,12 @@ from django.db import models
from django.utils.translation import ugettext_lazy as _
from .enums import LanguageTypes
from ..models import ExerciseType
from ..models import ExerciseType, ExerciseTree
class TrainingPlan(models.Model):
training_plan_id = models.AutoField(primary_key=True)
tree = models.ForeignKey(ExerciseTree,on_delete=models.CASCADE)
name = models.CharField(max_length=100, help_text='The name of the training plan',
verbose_name=_("name"))
description = RichTextField(blank=True, null=True)

View File

@ -1,5 +1,7 @@
version: "3.7"
services:
web:
build: .
container_name: backoffice
@ -13,12 +15,13 @@ services:
command: gunicorn aitrainer_backoffice.aitrainer_backoffice.wsgi --env DJANGO_SETTINGS_MODULE=aitrainer_backoffice.aitrainer_backoffice.settings.prod --bind 0.0.0.0:8000 --workers 3
mysql-server:
image: mysql:8.0.20
image: mysql:8.0.21
restart: always
environment:
MYSQL_ROOT_PASSWORD: $MYSQL_ROOT_PASSWORD
volumes:
- mysql-data-backoffice:/var/lib/mysql
- /home/bosi/backoffice/aitrainer_backoffice/mysqlconf:/etc/mysql/conf.d
ports:
- "33060:3306"
@ -27,10 +30,113 @@ services:
restart: always
environment:
PMA_HOST: mysql-server
PMA_USER: $MYSQL_USER
PMA_PASSWORD: $MYSQL_ROOT_PASSWORD
PMA_USER: aitrainer
PMA_PASSWORD: andio2009
ports:
- "8085:80"
volumes:
- ./htpasswd:/etc/phpmyadmin/.htpasswd
- ./phpmyadmin.config.php:/etc/phpmyadmin/config.user.inc.php
wordpress:
image: wordpress
container_name: wordpress
restart: always
links:
- mysql-server:mysql
depends_on:
- mysql-server
ports:
- "8090:80"
environment:
UPLOAD_LIMIT: 512M
UPLOAD_MAX_FILESIZE: 128M
WORDPRESS_DB_HOST: mysql-server
WORDPRESS_DB_USER: $MYSQL_USER
WORDPRESS_DB_PASSWORD: $MYSQL_ROOT_PASSWORD
WORDPRESS_DB_NAME: wp
volumes:
- wordpress:/var/www/html
- ./wp_php_custom.ini:/usr/local/etc/php/conf.d/uploads.ini
- ./wp_htaccess:/var/www/html/.htaccess
mautic:
image: mautic/mautic:v3
container_name: mautic
links:
- mysql-server:mysql
depends_on:
- mysql-server
ports:
- "8091:80"
volumes:
- mautic_data:/var/www/html
environment:
- MAUTIC_DB_HOST=mysql-server
- MAUTIC_DB_USER=aitrainer
- MAUTIC_DB_PASSWORD=andio2009
- MAUTIC_DB_NAME=mautic
- MAUTIC_RUN_CRON_JOBS=true
api:
# container_name: api_server
image: api_server:latest
build: .
depends_on:
- mysql-server
restart: always
working_dir: /aitrainer_server
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-server:3306/aitrainer?serverTimezone=CET&useSSL=false&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
command: bash -c "SERVER_PORT=8888 java -jar aitrainer_server.jar --spring.profiles.active=prod"
ports:
- "8888:8888"
api_test_ssl:
image: api_server_ssl_test:latest
build: .
depends_on:
- mysql-server
restart: always
working_dir: /aitrainer_server
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-server:3306/aitrainer_test?serverTimezone=CET&useSSL=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
command: bash -c "SERVER_PORT=8843 java -jar aitrainer_server.jar --spring.profiles.active=prodtest"
ports:
- "8843:8843"
api_ssl:
image: api_server_ssl:latest
build: .
depends_on:
- mysql-server
restart: always
working_dir: /aitrainer_server
environment:
SPRING_DATASOURCE_URL: jdbc:mysql://mysql-server:3306/aitrainer?serverTimezone=CET&useSSL=true&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
command: bash -c "SERVER_PORT=8943 java -jar aitrainer_server.jar --spring.profiles.active=prod"
ports:
- "8943:8943"
wiki:
image: requarks/wiki:2
depends_on:
- mysql-server
environment:
DB_TYPE: mysql
DB_HOST: mysql-server
DB_PORT: 3306
DB_USER: aitrainer
DB_PASS: andio2009
DB_NAME: wiki
restart: unless-stopped
ports:
- "3000:3000"
volumes:
mysql-data-backoffice:
media:
wordpress:
mautic_data:
xwiki-data: