Ejemplo n.º 1
0
class ConfigurationForm(forms.ModelForm):
    class Meta:
        model = Configuration
        fields = '__all__'

    name = forms.CharField(required=True,
                           widget=forms.TextInput(
                               attrs={
                                   'class': 'form-control',
                                   'id': 'name',
                                   'placeholder': 'Configuration Name',
                               }))
    short_name = forms.CharField(
        required=True,
        validators=[validate_short_name],
        widget=forms.TextInput(
            attrs={
                'class': 'form-control',
                'id': 'short_name',
                'placeholder': 'my_awesome_configuration',
            }))
    content = forms.CharField(widget=AceWidget(
        mode="text",
        theme="monokai",
        width="100%",
        height="450px",
        tabsize=4,
        fontsize=13,
        toolbar=True,
    ))

    def set_value(self, configuration):
        self.initial['name'] = configuration.name
        self.initial['short_name'] = configuration.short_name
        self.initial['content'] = configuration.content
Ejemplo n.º 2
0
class AddEngineForm(forms.ModelForm):
    class Meta:
        model = EngineType
        fields = '__all__'

    engine_name = forms.CharField(required=True,
                                  widget=forms.TextInput(
                                      attrs={
                                          "class": "form-control",
                                          "id": "scan_engine_name",
                                          "placeholder": "Custom Engine"
                                      }))
    subdomain_discovery = forms.BooleanField(
        required=False, widget=forms.CheckboxInput(attrs={"checked": ""}))
    dir_file_search = forms.BooleanField(required=False,
                                         widget=forms.CheckboxInput(attrs={}))
    subdomain_takeover = forms.BooleanField(
        required=False, widget=forms.CheckboxInput(attrs={}))
    port_scan = forms.BooleanField(
        required=False, widget=forms.CheckboxInput(attrs={"checked": ""}))
    fetch_url = forms.BooleanField(
        required=False, widget=forms.CheckboxInput(attrs={"checked": ""}))
    yaml_configuration = forms.CharField(widget=AceWidget(
        mode="yaml",
        theme="monokai",
        width="100%",
        height="450px",
        tabsize=4,
        fontsize=13,
        toolbar=True,
    ))
Ejemplo n.º 3
0
 def get_form(self, request, obj=None, **kwargs):
     form = super(ProfileAdmin, self).get_form(request, obj, **kwargs)
     if 'user_script' in form.base_fields:
         # form.base_fields['user_script'] does not exist when the user has only view permission on the model.
         form.base_fields['user_script'].widget = AceWidget(
             'javascript', request.profile.ace_theme)
     return form
Ejemplo n.º 4
0
class ProblemSubmitForm(ModelForm):
    source = CharField(max_length=65536,
                       widget=AceWidget(theme='twilight', no_ace_media=True))
    judge = ChoiceField(choices=(), widget=forms.HiddenInput(), required=False)

    def __init__(self, *args, judge_choices=(), **kwargs):
        super(ProblemSubmitForm, self).__init__(*args, **kwargs)
        self.fields['language'].empty_label = None
        self.fields['language'].label_from_instance = attrgetter(
            'display_name')
        self.fields['language'].queryset = Language.objects.filter(
            judges__online=True).distinct()

        if judge_choices:
            self.fields['judge'].widget = Select2Widget(attrs={
                'style':
                'width: 150px',
                'data-placeholder':
                _('Any judge')
            }, )
            self.fields['judge'].choices = judge_choices

    class Meta:
        model = Submission
        fields = ['language']
Ejemplo n.º 5
0
Archivo: forms.py Proyecto: SchOJ/site
    class Meta:
        model = Profile
        fields = [
            'name', 'about', 'organizations', 'timezone', 'language',
            'ace_theme', 'user_script'
        ]
        widgets = {
            'name':
            TextInput(attrs={'style': 'width:100%;box-sizing:border-box'}),
            'user_script': AceWidget(theme='github'),
            'timezone': Select2Widget(attrs={'style': 'width:200px'}),
            'language': Select2Widget(attrs={'style': 'width:200px'}),
            'ace_theme': Select2Widget(attrs={'style': 'width:200px'}),
        }

        has_math_config = bool(getattr(settings, 'MATHOID_URL', False))
        if has_math_config:
            fields.append('math_engine')
            widgets['math_engine'] = Select2Widget(
                attrs={'style': 'width:200px'})

        if HeavyPreviewPageDownWidget is not None:
            widgets['about'] = HeavyPreviewPageDownWidget(
                preview=reverse_lazy('profile_preview'),
                attrs={'style': 'max-width:700px;min-width:700px;width:700px'})
Ejemplo n.º 6
0
 def get_form(self, request, obj=None, **kwargs):
     self.form.base_fields['problems'].initial = \
         Problem.objects.exclude(id__in=obj.problem_set.values('id')).values_list('pk', flat=True) if obj else []
     form = super(LanguageAdmin, self).get_form(request, obj, **kwargs)
     if obj is not None:
         form.base_fields['template'].widget = AceWidget(obj.ace, request.user.profile.ace_theme)
     return form
Ejemplo n.º 7
0
 def __init__(self, *args, **kwargs):
     super(SubmissionAdminForm, self).__init__(*args, **kwargs)
     self.fields["code_input"].widget = AceWidget(
         mode="python",
         theme="monokai",
         toolbar=True,
         width="90%",
     )
Ejemplo n.º 8
0
 class Meta:
     model = Hackathon
     exclude = ('created', 'updated', 'slug')
     widgets = {
         'slogan':
         forms.Textarea(attrs={'style': 'width: 80%; height: 40px;'}),
         'instruction': AceWidget(mode='markdown'),
     }
Ejemplo n.º 9
0
 class Meta:
     model = Snippet
     widgets = {
         "text": AceWidget(mode='python', theme='twilight', 
                           showinvisibles=True, tabsize=4,
                           width="800px", height="600px",
                          ),
     }
     exclude = ()
Ejemplo n.º 10
0
class EditorForm(forms.Form):
    text = forms.CharField(widget=AceWidget(mode='c_cpp',
                                            theme='twilight',
                                            wordwrap=False,
                                            width="100%",
                                            height="400px",
                                            fontsize="20px",
                                            toolbar=True,
                                            showprintmargin=True))
Ejemplo n.º 11
0
    def __init__(self, *args, **kwargs):
        super(PageForm, self).__init__(*args, **kwargs)

        try:
            instance = kwargs['instance']
            if instance.raw_html:
                self.fields['content'].widget = AceWidget(mode='html', width='100%', height='500px')
        except (KeyError, AttributeError):
            pass
Ejemplo n.º 12
0
 class Meta:
     model = Dataset
     exclude = [
         'source',
     ]
     widgets = {
         'description': forms.Textarea(attrs={'rows': '3'}),
         'other_meta': AceWidget(mode='python', theme='chrome'),
     }
Ejemplo n.º 13
0
 class Meta:
     model = Data
     exclude = []
     widgets = {
         'value':
         AceWidget(mode='json',
                   theme='monokai',
                   width='600px',
                   height='300px'),
     }
Ejemplo n.º 14
0
 class Meta:
     model = Exercise
     widgets = {
         "text":
         AceWidget(theme='twilight',
                   mode='python',
                   wordwrap=True,
                   width='100%'),
     }
     fields = ['text']
Ejemplo n.º 15
0
 class Meta:
     model = UserProfile
     fields = ['code']
     widgets = {
         "code":
         AceWidget(mode='python',
                   theme='twilight',
                   width="850px",
                   height="500px"),
     }
Ejemplo n.º 16
0
 def formfield_for_dbfield(self, db_field, **kwargs):
     if getattr(settings, "USE_ACE_WIDGET",
                True) and db_field.name == "content":
         kwargs["widget"] = AceWidget(
             mode=getattr(settings, "ACE_MODE", "twig"),
             theme=getattr(settings, "ACE_THEME", "chrome"),
             width=getattr(settings, "ACE_WIDTH", "100%"),
             height=getattr(settings, "ACE_HEIGHT", "300px"))
     return super(AceWidgetMixin,
                  self).formfield_for_dbfield(db_field, **kwargs)
Ejemplo n.º 17
0
class CodeBoxRun(forms.Form):
    name = forms.CharField()
    text = forms.CharField(widget=AceWidget(wordwrap=False,
                                            width="650px",
                                            height="500px",
                                            showprintmargin=True,
                                            theme='twilight'))
    inp = forms.CharField(widget=forms.Textarea(attrs={'id': 'input'}),
                          required=False)
    langs = forms.ChoiceField(l, initial='C')
Ejemplo n.º 18
0
 class Meta:
     model = Feedback
     exclude = []
     widgets = {
         'feedback_data':
         AceWidget(mode='json',
                   theme='monokai',
                   width='600px',
                   height='300px'),
     }
Ejemplo n.º 19
0
 def __init__(self, *args, **kwargs):
     """Set code widget mode."""
     super(MigrationStepForm, self).__init__(*args, **kwargs)
     type_ = self.initial.get('type')
     if type_:
         self.fields['code'].widget = AceWidget(mode=type_,
                                                **ACE_WIDGET_PARAMS)
     widget = self.fields['code'].widget
     widget.__dict__['media'] = widget.media
     self.fields['type'].widget.attrs = {'class': 'migration_step_type'}
Ejemplo n.º 20
0
 class Meta:
     model = Template
     widgets = {
         'name': forms.TextInput(attrs={'class': 'input-xxlarge'}),
         'slug': forms.TextInput(attrs={'class': 'input-xxlarge'}),
         'body': AceWidget(mode='django',
                           width='640px',
                           showprintmargin=False),
     }
     exclude = ()
Ejemplo n.º 21
0
class EditorForm(forms.Form):
    text = forms.CharField(widget=AceWidget(mode='python', theme='monokai'),label="")

    def clean_text(self):
        value = self.cleaned_data["text"]
        forbidden = ['exec(', 'eval(', 'exit(', 'quit(']
        for banned in forbidden:
            if banned in value:
                raise forms.ValidationError("Yritit käyttää estettyä python käskyä")
        return value
Ejemplo n.º 22
0
 class Meta:
     model = Project
     exclude = ('created', 'updated')
     widgets = {
         'information': AceWidget(mode='markdown'),
         'members': forms.Textarea(attrs={
             'cols': 80,
             'rows': 20
         }),
     }
Ejemplo n.º 23
0
 class Meta:
     model = models.Homepage
     fields = '__all__'
     widgets = {
         'text': AceWidget(mode='django', theme='tomorrow_night', width="900px", height="400px"),
     }
     help_texts = {
         'text': """To keep the content compatible with the current slide structure of the
             home page, the content is expected to be separated into sections with class
             "section"."""
     }
Ejemplo n.º 24
0
 class Meta:
     model = Exercise
     widgets = {
         "test_imports":
         AceWidget(theme='twilight',
                   mode='python',
                   wordwrap=True,
                   width='100%'),
         "test":
         AceWidget(theme='twilight',
                   mode='python',
                   wordwrap=True,
                   width='100%'),
         "text":
         AceWidget(theme='twilight',
                   mode='python',
                   wordwrap=True,
                   width='100%'),
     }
     fields = "__all__"
Ejemplo n.º 25
0
class DoubleEditorForm(forms.Form):

    parameters = forms.CharField(widget=AceWidget(mode='python', theme='merbivore', width="575px", height="50px"),
                                   label="Laita tähän kenttään muuttujat omia testiajojasi varten",
				   required=False )
    text = forms.CharField(widget=AceWidget(mode='python', theme='merbivore'),label="")

    def clean_text(self):
        value = self.cleaned_data["text"]
        forbidden = ['exec(', 'eval(', 'exit(', 'quit(']
        for banned in forbidden:
            if banned in value:
                raise forms.ValidationError("Yritit käyttää estettyä python käskyä")

        if "parameters" in self.cleaned_data:
	    value2 = self.cleaned_data["parameters"]
            for banned in forbidden:
                if banned in value2:
                    raise forms.ValidationError("Yritit käyttää estettyä python käskyä")
        return value
Ejemplo n.º 26
0
 class Meta:
     model = PersonalProject
     fields = ['title', 'description', 'code']
     widgets = {
         'code':
         AceWidget(mode='python',
                   theme='xcode',
                   width="100%",
                   height="425px",
                   fontsize="14px")
     }
Ejemplo n.º 27
0
    def __init__(self, *args, **kwargs):
        if "instance" in kwargs \
                and kwargs["instance"] is not None \
                and kwargs["instance"].type_file not in ['bin', 'archive']:
            type_file = kwargs["instance"].type_file

            self.base_fields['text_content'].widget = AceWidget(mode=type_file,
                                                                width="100%",
                                                                toolbar=True)

        super(FileControlAdminForm, self).__init__(*args, **kwargs)
Ejemplo n.º 28
0
 class Meta:
     model = Chapter
     fields = '__all__'
     widgets = {
         'content':
         AceWidget(mode='html',
                   theme='twilight',
                   wordwrap=True,
                   width='100%',
                   height='300px')
     }
Ejemplo n.º 29
0
class CommonAdminFeatures(admin.ModelAdmin):
    formfield_overrides = {
        models.TextField: {'widget': AdminMartorWidget},
        models.CharField: {'widget': AceWidget(mode='python')}
    }
    readonly_fields = ['type', 'judge_function_name']
    list_display = ['id', '__str__', 'max_score', 'type']
    list_display_links = ['__str__', 'id']
    list_editable = ['max_score']
    sortable_by = ['id', 'max_score']
    search_fields = ['max_score']
Ejemplo n.º 30
0
 class Meta:
     model = CodeBlock
     widgets = {
         'block_1_code':
         AceWidget(width='800px', height='500px'),
         'expected_output':
         forms.Textarea(attrs={
             'placeholder': 'Optional',
             'cols': 80
         })
     }
     fields = ['language', 'block_1_code', 'expected_output']