generated from jeffreykirchner/multi_user_socket_template
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #122 from jeffreykirchner/dev
Dev
- Loading branch information
Showing
23 changed files
with
308 additions
and
32 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
47 changes: 47 additions & 0 deletions
47
main/consumers/subject/subject_home_consumer_mixins/help_doc_subject.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
import logging | ||
import json | ||
|
||
from asgiref.sync import sync_to_async | ||
|
||
from django.core.serializers.json import DjangoJSONEncoder | ||
|
||
from main.models import Session | ||
from main.models import SessionPlayer | ||
from main.models import SessionEvent | ||
|
||
import main | ||
|
||
class GetHelpDocSubject(): | ||
''' | ||
Get help doc subject mixin for subject home consumer | ||
''' | ||
async def help_doc_subject(self, event): | ||
''' | ||
take help doc request | ||
''' | ||
|
||
try: | ||
message_text = event["message_text"] | ||
title = message_text["title"] | ||
|
||
session_player = await SessionPlayer.objects.select_related('session','session__parameter_set', 'session__parameter_set__instruction_set').aget(player_key=self.connection_uuid) | ||
instruction_set = session_player.session.parameter_set.instruction_set | ||
help_doc_subject = await instruction_set.help_docs_subject.all().aget(title=title) | ||
text = await sync_to_async(session_player.process_instruction_text, thread_sensitive=False)(help_doc_subject.text) | ||
|
||
except Exception as e: | ||
text = "Help doc not found" | ||
|
||
await SessionEvent.objects.acreate(session_id=session_player.session.id, | ||
session_player_id=session_player.id, | ||
type="help_doc", | ||
period_number=session_player.session.world_state["current_period"], | ||
time_remaining=session_player.session.world_state["time_remaining"], | ||
data=title) | ||
|
||
|
||
result = {"value" : "success", | ||
"result" : {"text" : text}} | ||
|
||
await self.send_message(message_to_self=result, message_to_subjects=None, message_to_staff=None, | ||
message_type=event['type'], send_to_client=True, send_to_group=False) |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
''' | ||
help doc subject form admin screen | ||
''' | ||
from django import forms | ||
from main.models import Instruction | ||
from tinymce.widgets import TinyMCE | ||
|
||
class HelpDocSubjectFormAdmin(forms.ModelForm): | ||
''' | ||
help doc subject form admin screen | ||
''' | ||
|
||
title = forms.CharField(label='Title', | ||
widget=forms.TextInput(attrs={"width":"300px"})) | ||
|
||
text = forms.CharField(label='Page HTML Text', | ||
widget=TinyMCE(attrs={"rows":20, "cols":200, "plugins": "link image code"})) | ||
|
||
class Meta: | ||
model=Instruction | ||
fields = ('title', 'text') |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Generated by Django 4.2.3 on 2023-09-17 19:40 | ||
|
||
from django.db import migrations, models | ||
import django.db.models.deletion | ||
import tinymce.models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('main', '0108_alter_parameterset_instruction_set'), | ||
] | ||
|
||
operations = [ | ||
migrations.CreateModel( | ||
name='HelpDocsSubject', | ||
fields=[ | ||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), | ||
('title', models.CharField(default='', max_length=300, verbose_name='Title')), | ||
('text', tinymce.models.HTMLField(default='', max_length=100000, verbose_name='Help Doc Text')), | ||
('timestamp', models.DateTimeField(auto_now_add=True)), | ||
('updated', models.DateTimeField(auto_now=True)), | ||
('instruction_set', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='help_docs_subjects', to='main.instructionset')), | ||
], | ||
options={ | ||
'verbose_name': 'Help Doc Subject', | ||
'verbose_name_plural': 'Help Docs Subject', | ||
'ordering': ['title'], | ||
}, | ||
), | ||
migrations.AddConstraint( | ||
model_name='helpdocssubject', | ||
constraint=models.UniqueConstraint(fields=('instruction_set', 'title'), name='unique_help_doc_subject '), | ||
), | ||
] |
19 changes: 19 additions & 0 deletions
19
main/migrations/0110_alter_helpdocssubject_instruction_set.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
# Generated by Django 4.2.3 on 2023-09-17 21:31 | ||
|
||
from django.db import migrations, models | ||
import django.db.models.deletion | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('main', '0109_helpdocssubject_and_more'), | ||
] | ||
|
||
operations = [ | ||
migrations.AlterField( | ||
model_name='helpdocssubject', | ||
name='instruction_set', | ||
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='help_docs_subject', to='main.instructionset'), | ||
), | ||
] |
21 changes: 21 additions & 0 deletions
21
main/migrations/0111_remove_helpdocssubject_unique_help_doc_subject__and_more.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Generated by Django 4.2.3 on 2023-09-17 21:36 | ||
|
||
from django.db import migrations, models | ||
|
||
|
||
class Migration(migrations.Migration): | ||
|
||
dependencies = [ | ||
('main', '0110_alter_helpdocssubject_instruction_set'), | ||
] | ||
|
||
operations = [ | ||
migrations.RemoveConstraint( | ||
model_name='helpdocssubject', | ||
name='unique_help_doc_subject ', | ||
), | ||
migrations.AddConstraint( | ||
model_name='helpdocssubject', | ||
constraint=models.UniqueConstraint(fields=('instruction_set', 'title'), name='unique_help_doc_subject'), | ||
), | ||
] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,37 @@ | ||
''' | ||
help document subject | ||
''' | ||
from tinymce.models import HTMLField | ||
from django.db import models | ||
|
||
from main.models import InstructionSet | ||
|
||
class HelpDocsSubject(models.Model): | ||
''' | ||
help document | ||
''' | ||
instruction_set = models.ForeignKey(InstructionSet, on_delete=models.CASCADE, related_name="help_docs_subject") | ||
|
||
title = models.CharField(verbose_name = 'Title', max_length = 300, default="") | ||
text = HTMLField(verbose_name = 'Help Doc Text', max_length = 100000, default="") | ||
|
||
timestamp = models.DateTimeField(auto_now_add=True) | ||
updated= models.DateTimeField(auto_now=True) | ||
|
||
class Meta: | ||
verbose_name = 'Help Doc Subject' | ||
verbose_name_plural = 'Help Docs Subject' | ||
ordering = ['title'] | ||
constraints = [ | ||
models.UniqueConstraint(fields=['instruction_set', 'title'], name='unique_help_doc_subject'), | ||
] | ||
|
||
def __str__(self): | ||
return self.title | ||
|
||
def json(self): | ||
return{ | ||
"id":self.id, | ||
"title":self.title, | ||
"text":self.text, | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/** | ||
* send request for help doc | ||
* @param title : string | ||
*/ | ||
send_load_help_doc_subject(title){ | ||
app.working = true; | ||
app.help_text = "Loading ..."; | ||
|
||
app.help_modal.show(); | ||
|
||
app.send_message("help_doc_subject", {title : title}); | ||
}, | ||
|
||
/** | ||
* take help text load request | ||
* @param message_data : json | ||
*/ | ||
take_load_help_doc_subject(message_data){ | ||
|
||
if(message_data.value == "success") | ||
{ | ||
app.help_text = message_data.result.text; | ||
} | ||
else | ||
{ | ||
app.help_text = message_data.message; | ||
} | ||
}, | ||
|
Oops, something went wrong.