BO 1.17 split_tests, training_plan.tree_id
This commit is contained in:
parent
cc086325fb
commit
1812fc4d52
@ -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
|
||||
|
@ -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()
|
@ -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 = [
|
||||
|
@ -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
|
||||
|
@ -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'
|
||||
|
@ -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
|
@ -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)
|
||||
|
@ -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:
|
Loading…
Reference in New Issue
Block a user