Beispiel #1
0
class DescriptionFilterAdmin(django_filters.FilterSet):
    COUNTRIES = [(c.id, c.name) for c in Country.objects.all()]

    # Get choice fields for subtask
    departments = []
    for department in Department.objects.all():
        subtasks = []
        for task in department.task_set.all():
            for subtask in task.subtask_set.all():
                subtasks.append((subtask.id, subtask.name))

        departments.append((department.name, subtasks))

    country = django_filters.MultipleChoiceFilter(
        choices=COUNTRIES,
        widget=SelectMultiple(attrs={
            'class': 'browser-default',
            'size': len(COUNTRIES)
        }))
    subtask = django_filters.MultipleChoiceFilter(
        choices=departments,
        widget=SelectMultiple(attrs={
            'class': 'browser-default',
            'size': 15
        }))
    status = django_filters.MultipleChoiceFilter(
        choices=Description.STATUS,
        widget=SelectMultiple(attrs={'class': 'browser-default'}))

    class Meta:
        model = Description
        fields = ['subtask', 'country', 'status']

    def get_order_by(self):
        return ['country']
Beispiel #2
0
def jet_select2_lookups(field):
    if hasattr(field, 'field') and \
            (isinstance(field.field, ModelChoiceField) or isinstance(field.field, ModelMultipleChoiceField)):
        qs = field.field.queryset
        model = qs.model

        if getattr(model, 'autocomplete_search_fields', None) and getattr(
                field.field, 'autocomplete', False):
            choices = []
            app_label = model._meta.app_label
            model_name = model._meta.object_name

            attrs = {
                'class':
                'ajax',
                'data-app-label':
                app_label,
                'data-model':
                model_name,
                'data-field-name':
                field.name,
                'data-ajax--url':
                reverse('jet:model_lookup') + f"?field_name={field.name}"
            }

            initial_value = field.value()

            if hasattr(field, 'field') and isinstance(
                    field.field, ModelMultipleChoiceField):
                if initial_value:
                    initial_objects = model.objects.filter(
                        pk__in=initial_value)
                    choices.extend([(initial_object.pk,
                                     get_model_instance_label(initial_object))
                                    for initial_object in initial_objects])

                if isinstance(field.field.widget, RelatedFieldWidgetWrapper):
                    field.field.widget.widget = SelectMultiple(attrs)
                else:
                    field.field.widget = SelectMultiple(attrs)
                field.field.choices = choices
            elif hasattr(field, 'field') and isinstance(
                    field.field, ModelChoiceField):
                if initial_value:
                    try:
                        initial_object = model.objects.get(pk=initial_value)
                        attrs['data-object-id'] = initial_value
                        choices.append(
                            (initial_object.pk,
                             get_model_instance_label(initial_object)))
                    except model.DoesNotExist:
                        pass

                if isinstance(field.field.widget, RelatedFieldWidgetWrapper):
                    field.field.widget.widget = Select(attrs)
                else:
                    field.field.widget = Select(attrs)
                field.field.choices = choices

    return field
Beispiel #3
0
class GlobalHookFilter(SquestFilter):
    class Meta:
        model = GlobalHook
        fields = ['name', 'model']

    model = MultipleChoiceFilter(choices=HookModel.choices,
                                 widget=SelectMultiple())

    state_instance = MultipleChoiceFilter(
        label="Instance state",
        method='add_states_in_filter',
        choices=InstanceState.choices,
        null_value=None,
        widget=SelectMultiple(attrs={'data-live-search': "true"}))

    state_request = MultipleChoiceFilter(
        label="Request state",
        method='add_states_in_filter',
        choices=RequestState.choices,
        null_value=None,
        widget=SelectMultiple(attrs={'data-live-search': "true"}))

    def __init__(self, *args, **kwargs):
        super(GlobalHookFilter, self).__init__(*args, **kwargs)
        self.state_filter_value = list()

    def add_states_in_filter(self, queryset, field_name, value):
        self.state_filter_value += value
        return queryset

    def filter_queryset(self, queryset):
        queryset = super(GlobalHookFilter, self).filter_queryset(queryset)
        tmp = self.state_filter_value
        self.state_filter_value = []
        return queryset.filter(state__in=tmp)
Beispiel #4
0
 class Meta:
     model = Cred
     # These field are not user configurable
     exclude = Cred.APP_SET
     widgets = {
         # Use chosen for the tag field
         'project':
         Select(attrs={'class': 'custom-select'}),
         'title':
         TextInput(attrs={'class': 'form-control'}),
         'url':
         TextInput(attrs={'class': 'form-control'}),
         'username':
         TextInput(attrs={
             'autocomplete': 'off',
             'class': 'form-control'
         }),
         'password':
         PasswordInput(render_value=True,
                       attrs={
                           'class': 'form-control',
                           'autocomplete': 'off'
                       }),
         'description':
         Textarea(attrs={'autocomplete': 'off'}),
         'tags':
         SelectMultiple(attrs={'class': 'form-control single-select'}),
         'group':
         Select(attrs={'class': 'form-control single-select'}),
         'groups':
         SelectMultiple(attrs={'class': 'form-control single-select'}),
         'users':
         SelectMultiple(attrs={'class': 'form-control single-select'}),
     }
Beispiel #5
0
 class Meta:
     model = Pessoa_Juridica
     exclude = ['Atividade']
     widgets = {
         'NaturezaJuridica':
         Select(attrs={
             'class': 'js-example-basic-single js-states form-control'
         }),
         'Situacao':
         Select(attrs={
             'class': 'js-example-basic-single js-states form-control'
         }),
         'Municipio':
         Select(attrs={
             'class': 'js-example-basic-single js-states form-control'
         }),
         'EstabelecimentoMantenedor':
         Select(attrs={
             'class': 'js-example-basic-single js-states form-control'
         }),
         'ProfissionaisCCIH':
         SelectMultiple(
             attrs={
                 'class': 'js-example-basic-single js-states form-control'
             }),
         'ResponsaveisLegais':
         SelectMultiple(
             attrs={
                 'class': 'js-example-basic-single js-states form-control'
             }),
     }
Beispiel #6
0
class RequestFilter(SquestFilter):
    class Meta:
        model = Request
        fields = ['instance__name', 'instance__id', 'user__username', 'instance__service__name', 'operation__name', 'operation__type',
                  'state']

    operation__type = MultipleChoiceFilter(
        choices=OperationType.choices,
        widget=SelectMultiple(attrs={'data-live-search': "true"}))

    state = MultipleChoiceFilter(
        choices=[state for state in RequestState.choices if state[0] != RequestState.ARCHIVED],
        widget=SelectMultiple(attrs={'data-live-search': "true"}))

    def __init__(self, *args, **kwargs):
        super(RequestFilter, self).__init__(*args, **kwargs)
        self.filters['instance__name'].field.label = 'Instance'
        self.filters['instance__id'].field.widget = HiddenInput()
        self.filters['user__username'].field.label = 'User'
        self.filters['instance__service__name'].field.label = 'Service name'
        self.filters['operation__name'].field.label = 'Operation name'
        self.filters['operation__type'].field.label = 'Type'

    @property
    def qs(self):
        return super().qs.exclude(state=RequestState.ARCHIVED)
Beispiel #7
0
class SearchClientForm(forms.Form):
    category = ModelChoiceField(queryset=ChoicesHairColor.objects.all(), empty_label=None,
                                initial=False,
                                required=False,
                                widget=SelectMultiple(
                                    attrs={
                                        'class': 'mdb-select colorful-select dropdown-dark md-form wow fadeIn',
                                        'data-wow-delay': '0.4s'}))

    genre = ModelChoiceField(queryset=ChoicesGenre.objects.all(), empty_label=None,
                             initial=False,
                             required=False,
                             widget=SelectMultiple(
                                 attrs={
                                     'class': 'mdb-select colorful-select dropdown-dark md-form wow fadeIn',
                                     'data-wow-delay': '0.4s'}))

    eye = ModelChoiceField(queryset=ChoicesEyeColor.objects.all(), empty_label=None,
                           initial=False,
                           required=False,
                           widget=SelectMultiple(
                               attrs={'class': 'mdb-select colorful-select dropdown-dark md-form wow fadeIn',
                                      'data-wow-delay': '0.4s'}))

    ethnicity = ModelChoiceField(queryset=ChoicesEthnicity.objects.all(), empty_label=None,
                                 initial=False,
                                 required=False,
                                 widget=SelectMultiple(
                                     attrs={
                                         'class': 'mdb-select colorful-select '
                                                  'dropdown-dark md-form wow fadeIn',
                                         'data-wow-delay': '0.4s'}))
Beispiel #8
0
 class Meta:
     model = Movie
     fields = ('name', 'description', 'plot', 'release_date', 'runningtime',
               'mpa_rating', 'genre', 'country', 'language', 'imdb_rating',
               'metascore', 'tomatometer', 'trailer', 'image', 'production',
               'producer', 'director', 'writer')
     widgets = {
         'release_date':
         DatePicker(options={
             'minDate': '1800-01-01',
             'maxDate': '3000-01-01',
         }),
         'production':
         SelectMultiple(attrs={
             'size': '10',
         }),
         'producer':
         SelectMultiple(attrs={
             'size': '10',
         }),
         'director':
         SelectMultiple(attrs={
             'size': '20',
         }),
         'writer':
         SelectMultiple(attrs={
             'size': '20',
         })
     }
Beispiel #9
0
class event(FilterSet):
    def __init__(self, *args, **kwargs):
        if not event_choices['level'] and kwargs['queryset'].count():
            update_choices()
        super().__init__(*args, **kwargs)
        for attribute in event_choices:
            self.filters[attribute].extra.update(
                choices=event_choices[attribute])
            self.filters[attribute].widget.attrs['size'] = min(
                len(event_choices[attribute]), 50)

    description = CharFilter(
        label='Description', lookup_expr='icontains',
        widget=Textarea(attrs={'class': 'form-control', 'rows': 3}),
        help_text='')
    type = MultipleChoiceFilter(
        label='Type',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    level = MultipleChoiceFilter(
        label='Level',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    source = MultipleChoiceFilter(
        label='Source',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    success = BooleanFilter(
        label='Success',
        widget=Select(choices=(('3', 'Unknown'), ('1', 'True'), ('0', 'False')),
                      attrs={'class': 'form-control'}), help_text='')

    class Meta:
        exclude = ('campaign', 'result', 'timestamp')
        model = models.event
Beispiel #10
0
class IndividualOverviewUpdateForm(BaseModelForm):
    member_of = forms.ModelMultipleChoiceField(
        queryset=Organization.objects.all(),
        label=_('Cooperative(s) you are a currently a member of'),
        required=False,
        widget=SelectMultiple(attrs={'size': 4, 'class': 'multiple'}),
        help_text=_('Hold down the <kbd>ctrl</kbd> (Windows) or <kbd>command</kbd> (macOS) key to select multiple options.')
    )

    founder_of = forms.ModelMultipleChoiceField(
        queryset=Organization.objects.all(),
        label=_('Cooperative(s) you are a founder of'),
        required=False,
        widget=SelectMultiple(attrs={'size': 4, 'class': 'multiple'}),
        help_text=_('Hold down the <kbd>ctrl</kbd> (Windows) or <kbd>command</kbd> (macOS) key to select multiple options.')
    )

    worked_with = forms.ModelMultipleChoiceField(
        queryset=Organization.objects.all(),
        label=_('Cooperative(s) you have worked with'),
        required=False,
        widget=SelectMultiple(attrs={'size': 4, 'class': 'multiple'}),
        help_text=_('Hold down the <kbd>ctrl</kbd> (Windows) or <kbd>command</kbd> (macOS) key to select multiple options.')
    )

    class Meta:
        model = get_user_model()
        fields = [
            'roles',
            'member_of',
            'founder_of',
            'worked_with',
            'services',
            'community_skills',
            'field_of_study',
            'affiliation',
            'affiliation_url',
            'bio',
            'projects'
        ]
        labels = {
            'roles': _('How would you describe yourself?'),
            'services': _('Services you provide'),
            'community_skills': _('What community building skills do you have to offer?'),
            'field_of_study': _('What is your field of research?'),
            'affiliation': _('Are you affiliated with an organization or institution?'),
            'affiliation_url': _('What is the website address of your affiliated organization or institution?'),
            'bio': _('Bio'),
            'projects': _('Projects'),
        }
        widgets = {
            'roles': CheckboxSelectMultiple(attrs={'class': 'input-group checkbox'}),
            'services': SelectMultiple(attrs={'size': 4, 'class': 'multiple'})
        }
        help_texts = {
            'services': _('Hold down the <kbd>ctrl</kbd> (Windows) or <kbd>command</kbd> (macOS) key to select multiple options.'),
            'community_skills': _('Provide a short description.'),
            'bio': _('Share a bit about yourself.'),
            'projects': _('List any current or past projects you would like to share with others.')
        }
Beispiel #11
0
 class Meta:
     model = Cred
     # These field are not user configurable
     exclude = Cred.APP_SET
     widgets = {
         # Use chosen for the tag field
         'tags':
         SelectMultiple(attrs={'class': 'rattic-tag-selector'}),
         'group':
         Select(attrs={'class': 'rattic-group-selector'}),
         'groups':
         SelectMultiple(attrs={'class': 'rattic-group-selector'}),
         'users':
         SelectMultiple(attrs={'class': 'rattic-user-selector'}),
         'password':
         PasswordInput(render_value=True,
                       attrs={
                           'class':
                           'btn-password-generator btn-password-visibility'
                       }),
         'ssh_key':
         CredAttachmentInput,
         'attachment':
         CredAttachmentInput,
         'iconname':
         CredIconChooser,
     }
Beispiel #12
0
    class Meta:
        model = IncidentReport
        fields = ['report_date', 'report_time', 'effected_members', 'staff_on_duty',
                  'description', 'damage', 'root_cause', 'mitigation', 'actions_taken', 'actions_todo']

        labels = {
            'report_date': 'Date when the incident happened:',
            'report_time': 'Time when incident occured (HH:MM:SS):',
            'effected_members': 'Select the members who were involved in the incident (select multiple):',
            'staff_on_duty': 'Select the staff members on duty at the time (select multiple):',
            'description': 'Briefly describe the incident:',
            'damage': 'List any/all resulting injury or damage:',
            'root_cause': 'Describe what factors lead to this incident. Why doesn\'t it normally happen?',
            'mitigation': 'What can be done to prevent this kind of incident:',
            'actions_taken': 'What actions were taken in responce to this incident:',
            'actions_todo': 'What actions still need to be done:',
        }

        widgets = {'report_date': DateInput(attrs={'class': 'form-control datepicker'}),
                   'report_time': TimeInput(attrs={'class': 'form-control timepicker'}),
                   'effected_members': SelectMultiple(attrs={'class': 'form-control selectpicker',
                                                             'data-style': 'btn-primary'}),
                   'staff_on_duty': SelectMultiple(attrs={'class': 'form-control selectpicker',
                                                          'data-style': 'btn-primary'}),
                   'description': Textarea(attrs={'class': 'form-control'}),
                   'damage': Textarea(attrs={'class': 'form-control'}),
                   'root_cause': Textarea(attrs={'class': 'form-control'}),
                   'mitigation': Textarea(attrs={'class': 'form-control'}),
                   'actions_taken': Textarea(attrs={'class': 'form-control'}),
                   'actions_todo': Textarea(attrs={'class': 'form-control'}),
        }
Beispiel #13
0
 class Meta:
     model = get_user_model()
     fields = ('username', 'first_name', 'last_name', 'email', 'churches',
               'groups', 'is_superuser', 'is_staff', 'is_active',
               'date_joined', 'last_login')
     widgets = {
         'username':
         TextInput(attrs={'class': 'input input-bordered w-full max-w-sm'}),
         'first_name':
         TextInput(attrs={'class': 'input input-bordered w-full max-w-sm'}),
         'last_name':
         TextInput(attrs={'class': 'input input-bordered w-full max-w-sm'}),
         'email':
         TextInput(attrs={'class': 'input input-bordered w-full max-w-sm'}),
         'churches':
         SelectMultiple(attrs={
             'class':
             'select select-bordered select-multiple w-full max-w-sm'
         }),
         'groups':
         SelectMultiple(attrs={
             'class':
             'select select-bordered select-multiple w-full max-w-sm'
         }),
         'is_superuser':
         CheckboxInput(attrs={'class': 'toggle toggle-primary'}),
         'is_staff':
         CheckboxInput(attrs={'class': 'toggle toggle-primary'}),
         'is_active':
         CheckboxInput(attrs={'class': 'toggle toggle-primary'}),
         'date_joined':
         TextInput(attrs={'class': 'input input-bordered w-full max-w-sm'}),
         'last_login':
         TextInput(attrs={'class': 'input input-bordered w-full max-w-sm'}),
     }
Beispiel #14
0
 class Meta:
     model = Pathway
     # Bootstrap controls width of Textarea, ignoring the 'cols' setting. Can also use 'class': 'input-block-level'
     #  Consider CheckboxSelectMultiple for some of these, especially eus and lts
     # number of items to show in longer dropdown lists:
     widgets = {
         'name':
         TextInput(attrs={'class': 'span4'}),
         'subject_areas':
         SelectMultiple(attrs={
             'class': 'span4',
             'size': 5
         }),
         'subdiscipline_areas':
         SelectMultiple(attrs={
             'class': 'span4',
             'size': 5
         }),
         'competency_areas':
         SelectMultiple(attrs={
             'class': 'span4',
             'size': 15
         }),
         'essential_understandings':
         SelectMultiple(attrs={
             'class': 'span8',
             'size': 20
         }),
         'learning_targets':
         SelectMultiple(attrs={
             'class': 'span8',
             'size': 20
         }),
     }
Beispiel #15
0
 class Meta:
     document = Application
     widgets = {
         'name': TextInput(attrs={'class': 'form-control'}),
         'tags': TextInput(attrs={'class': 'form-control'}),
         'public_name': TextInput(attrs={'class': 'form-control'}),
         'public_alias': TextInput(attrs={'class': 'form-control'}),
         'public_dir': TextInput(attrs={'class': 'form-control'}),
         'private_uri': TextInput(attrs={'class': 'form-control'}),
         'auth_timeout': TextInput(attrs={'class': 'form-control'}),
         'auth_portal': TextInput(attrs={'class': 'form-control'}),
         'sso_url': TextInput(attrs={'class': 'form-control'}),
         'app_krb_service': TextInput(attrs={'class': 'form-control'}),
         'app_disconnect_url': TextInput(attrs={'class': 'form-control'}),
         'sso_forward_basic_url':
         TextInput(attrs={'class': 'form-control'}),
         'sso_profile': HiddenInput(attrs={'class': 'form-control'}),
         'sso_after_post_request':
         TextInput(attrs={'class': 'form-control'}),
         'rules_set': SelectMultiple(attrs={'class': 'form-control'}),
         'whitelist_ips': TextInput(attrs={'class': 'form-control'}),
         'ssl_cipher': TextInput(attrs={'class': 'form-control'}),
         'datasets': SelectMultiple(attrs={'class': 'form-control'}),
         'timeout': TextInput(attrs={'class': 'form-control'}),
         'ttl': TextInput(attrs={'class': 'form-control'}),
         'sso_direct_post': CheckboxInput(attrs={'class': 'js-switch'}),
         'sso_forward_get_method':
         CheckboxInput(attrs={'class': 'js-switch'}),
         'pw_min_len': TextInput(attrs={'class': 'form-control'}),
         'pw_min_upper': TextInput(attrs={'class': 'form-control'}),
         'pw_min_lower': TextInput(attrs={'class': 'form-control'}),
         'pw_min_number': TextInput(attrs={'class': 'form-control'}),
         'pw_min_symbol': TextInput(attrs={'class': 'form-control'}),
         'group_registration': Select()
     }
Beispiel #16
0
class DescriptionFilter(django_filters.FilterSet):
    # Get choice fields for subtask
    departments = []
    subtask = django_filters.MultipleChoiceFilter(
        choices=departments,
        widget=SelectMultiple(attrs={
            'class': 'browser-default',
            'size': 15
        }))
    status = django_filters.MultipleChoiceFilter(
        choices=Description.STATUS,
        widget=SelectMultiple(attrs={'class': 'browser-default'}))

    class Meta:
        model = Description
        fields = ['subtask', 'status']

    def __init__(self, department, *args, **kwargs):
        super(DescriptionFilter, self).__init__(*args, **kwargs)

        departments = []
        subtasks = []
        for task in department.task_set.all():
            for subtask in task.subtask_set.all():
                subtasks.append((subtask.id, subtask.name))

        departments.append((department.name, subtasks))

        self.filters['subtask'].field.choices = departments

    def get_order_by(self):
        return ['country']
Beispiel #17
0
class HallazgoProcesoForm(Form):

    TIPO_HALLAZGO = (('', '-------'), ('Mayor A', 'Mayor A'),
                     ('Menor B', 'Menor B'), ('Observacion', 'Observacion'))

    titulo = CharField(
        widget=TextInput(attrs={'class': 'form-control input-xs'}), )

    requisito_referencia = MultipleChoiceField(
        label='Requisitos de referencia',
        widget=SelectMultiple(attrs={
            'class': 'select2',
            'multiple': 'multiple'
        }),
    )

    descripciones = MultipleChoiceField(
        widget=SelectMultiple(attrs={
            'class': 'select2',
            'multiple': 'multiple'
        }),
        required=False)

    tipo_hallazgo = ChoiceField(label="Tipo de hallazgo",
                                widget=Select(attrs={'class': 'select2'}),
                                choices=TIPO_HALLAZGO)

    observaciones = CharField(widget=Textarea(attrs={
        'class': 'form-control input-xs',
        'rows': '5'
    }), )

    def __init__(self, *args, **kwargs):
        super(HallazgoProcesoForm, self).__init__(*args, **kwargs)
        self.fields['requisito_referencia'].choices = self.get_Requisitos()
        self.fields['descripciones'].choices = self.get_Descripciones()

    def get_Descripciones(self):

        valores = []

        fallas = Falla.objects.all()

        for falla in fallas:

            valores.append((falla.pk, falla.falla))
        return valores

    def get_Requisitos(self):

        valores = []

        requisitos = Requisito.objects.all()

        for requisito in requisitos:

            valores.append((requisito.pk, requisito.requisito))
        return valores
Beispiel #18
0
def jet_select2_lookups(field):
    if hasattr(field, "field") and (isinstance(field.field, ModelChoiceField)
                                    or isinstance(field.field,
                                                  ModelMultipleChoiceField)):
        qs = field.field.queryset
        model = qs.model

        if getattr(model, "autocomplete_search_fields", None) and getattr(
                field.field, "autocomplete", True):
            choices = []
            app_label = model._meta.app_label
            model_name = model._meta.object_name

            attrs = {
                "class": "ajax",
                "data-app-label": app_label,
                "data-model": model_name,
                "data-ajax--url": reverse("jet:model_lookup"),
            }

            initial_value = field.value()

            if hasattr(field, "field") and isinstance(
                    field.field, ModelMultipleChoiceField):
                if initial_value:
                    initial_objects = model.objects.filter(
                        pk__in=initial_value)
                    choices.extend([(
                        initial_object.pk,
                        get_model_instance_label(initial_object),
                    ) for initial_object in initial_objects])

                if isinstance(field.field.widget, RelatedFieldWidgetWrapper):
                    field.field.widget.widget = SelectMultiple(attrs)
                else:
                    field.field.widget = SelectMultiple(attrs)
                field.field.choices = choices
            elif hasattr(field, "field") and isinstance(
                    field.field, ModelChoiceField):
                if initial_value:
                    try:
                        initial_object = model.objects.get(pk=initial_value)
                        attrs["data-object-id"] = initial_value
                        choices.append((
                            initial_object.pk,
                            get_model_instance_label(initial_object),
                        ))
                    except model.DoesNotExist:
                        pass

                if isinstance(field.field.widget, RelatedFieldWidgetWrapper):
                    field.field.widget.widget = Select(attrs)
                else:
                    field.field.widget = Select(attrs)
                field.field.choices = choices

    return field
Beispiel #19
0
    def __init__(self, *args, **kwargs):
        super(SmsCampaignAdminForm, self).__init__(*args, **kwargs)

        rel = ManyToManyRel(Campaign, 'pk')
        self.base_fields['mailing_list'].widget = admin.widgets.RelatedFieldWidgetWrapper(
            SelectMultiple(attrs={'size': '6'}), rel, admin.site,)
        self.base_fields['negative_mailing_list'].widget = admin.widgets.RelatedFieldWidgetWrapper(
            SelectMultiple(attrs={'size': '6'}), rel, admin.site,)
        self.base_fields['campaign_type'].widget = admin.widgets.RelatedFieldWidgetWrapper(
            SelectMultiple(attrs={'size': '6'}), rel, admin.site,)
Beispiel #20
0
def jet_select2_lookups(field):
    if hasattr(field, 'field') and isinstance(field.field, ModelChoiceField):
        qs = field.field.queryset
        model = qs.model

        if getattr(model, 'autocomplete_search_fields', None) and getattr(
                field.field, 'autocomplete', True):
            choices = []
            app_label = model._meta.app_label
            model_name = model._meta.object_name

            attrs = {
                'class': 'ajax',
                'data-app-label': app_label,
                'data-model': model_name,
                'data-ajax--url': reverse('jet:model_lookup')
            }

            form = field.form
            initial_value = form.data.get(
                field.name) if form.data != {} else form.initial.get(
                    field.name)

            if hasattr(field, 'field') and isinstance(
                    field.field, ModelMultipleChoiceField):
                if initial_value:
                    initial_objects = model.objects.filter(
                        pk__in=initial_value)
                    choices.extend([(initial_object.pk,
                                     get_model_instance_label(initial_object))
                                    for initial_object in initial_objects])

                if isinstance(field.field.widget, RelatedFieldWidgetWrapper):
                    field.field.widget.widget = SelectMultiple(attrs)
                else:
                    field.field.widget = SelectMultiple(attrs)
                field.field.choices = choices
            elif hasattr(field, 'field') and isinstance(
                    field.field, ModelChoiceField):
                if initial_value:
                    initial_object = model.objects.get(pk=initial_value)
                    attrs['data-object-id'] = initial_value
                    choices.append((initial_object.pk,
                                    get_model_instance_label(initial_object)))

                if isinstance(field.field.widget, RelatedFieldWidgetWrapper):
                    field.field.widget.widget = Select(attrs)
                else:
                    field.field.widget = Select(attrs)
                field.field.choices = choices

    return field
Beispiel #21
0
 class Meta:
     model = Teacher
     fields = [
         'name', 'surname', 'department', 'cource', 'group', 'subject'
     ]
     widgets = {
         'name': TextInput(attrs={'class': 'form-control'}),
         'surname': TextInput(attrs={'class': 'form-control'}),
         'department': SelectMultiple(attrs={'class': 'form-control'}),
         'cource': SelectMultiple(attrs={'class': 'form-control'}),
         'group': SelectMultiple(attrs={'class': 'form-control'}),
         'subject': SelectMultiple(attrs={'class': 'form-control'}),
     }
Beispiel #22
0
    class Meta:
        model = TLSProfile
        fields = ('alpn', 'ca_cert', 'cipher_suite', 'compatibility', 'name', 'protocols', 'verify_client',
                  'x509_certificate')

        widgets = {
            'name': TextInput(attrs={'class': 'form-control'}),
            'x509_certificate': Select(choices=X509Certificate.objects.all(), attrs={'class': 'form-control select2'}),
            'compatibility': Select(choices=BROWSER_CHOICES, attrs={'class': 'form-control select2'}),
            'protocols': SelectMultiple(choices=PROTOCOL_CHOICES, attrs={'class': 'form-control select2'}),
            'cipher_suite': Textarea(attrs={'class': 'form-control'}),
            'alpn': SelectMultiple(choices=ALPN_CHOICES, attrs={'class': 'form-control select2'}),
            'verify_client': Select(choices=VERIFY_CHOICES, attrs={'class': 'form-control select2'}),
        }
Beispiel #23
0
 class Meta:
     model = Post
     fields = ('name', 'text', 'related_movie', 'related_artist', 'image')
     widgets = {
         'related_movie': SelectMultiple(attrs={
             'size': '10',
         }),
         'related_artist': SelectMultiple(attrs={
             'size': '10',
         }),
         'text': Textarea(attrs={
             'rows': 30,
         }),
     }
Beispiel #24
0
class injection(FilterSet):
    def __init__(self, *args, **kwargs):
        if not injection_choices['register'] and kwargs['queryset'].count():
            update_choices()
        super().__init__(*args, **kwargs)
        for attribute in injection_choices:
            self.filters[attribute].extra.update(
                choices=injection_choices[attribute])
            self.filters[attribute].widget.attrs['size'] = min(
                len(injection_choices[attribute]), 25)

    bit = MultipleChoiceFilter(
        label='Bit',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    checkpoint = MultipleChoiceFilter(
        label='Checkpoint number',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    field = MultipleChoiceFilter(
        label='Field',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    processor_mode = MultipleChoiceFilter(
        label='Processor mode',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    register = MultipleChoiceFilter(
        label='Register',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    register_access = MultipleChoiceFilter(
        label='Register access',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    register_index = MultipleChoiceFilter(
        label='Register index',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    success = BooleanFilter(
        label='Success',
        widget=Select(choices=(('3', 'Unknown'), ('1', 'True'), ('0', 'False')),
                      attrs={'class': 'form-control'}), help_text='')
    target_name = MultipleChoiceFilter(
        label='Target',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')
    time_gt = NumberFilter(
        name='time', label='Time (>)', lookup_expr='gt',
        widget=NumberInput(attrs={'class': 'form-control'}), help_text='')
    time_lt = NumberFilter(
        name='time', label='Time (<)', lookup_expr='lt',
        widget=NumberInput(attrs={'class': 'form-control'}), help_text='')
    tlb_entry = MultipleChoiceFilter(
        label='TLB entry',
        widget=SelectMultiple(attrs={'class': 'form-control'}), help_text='')

    class Meta:
        exclude = ('config_object', 'gold_value', 'injected_value',
                   'register_alias', 'result', 'target', 'target_index', 'time',
                   'timestamp')
        model = models.injection
Beispiel #25
0
    def __init__(self, *args, **kwargs):
        super(RecurringForm, self).__init__(*args, **kwargs)

        for field in iter(self.fields):
            self.fields[field].widget.attrs.update({
                'class': 'form-control form-control-sm',
                'style': 'width:13rem'
            })

        self.fields['description'].widget.attrs.update({'rows': 2})
        self.fields['dates'].widget = SelectMultiple(
            attrs={'class': 'form-control form-control-sm'},
            choices=((x, x) for x in range(1, 32)))
        self.fields['weekdays'].widget = SelectMultiple(
            attrs={'class': 'form-control form-control-sm'},
            choices=((x, x) for x in day_name))
        self.fields['xth_from_specific_date'].widget = Select(
            attrs={'class': 'form-control form-control-sm'},
            choices=((x, x) for x in range(1, 32)))
        self.fields['amount'].widget.attrs.update({'inputmode': 'decimal'})
        self.fields['number'].label = 'Every'
        self.fields['number'].widget.attrs.update({'inputmode': 'numeric'})
        self.fields['interval_type'].label = 'Unit'
        self.fields['xth_type'].label = 'Of'
        self.fields['xth_from_specific_date'].label = 'From This Date'
        self.fields['xth_after_months'].label = 'Every __ Months'
        self.fields['xth_after_months'].widget.attrs.update(
            {'inputmode': 'numeric'})

        bills_id = None

        # The choices that display in the form field match models.py __str__ ... I want __str__ for Admin, but only the category text in the form field
        category_choices = []
        for choice in self.fields['category'].choices:
            if choice[0] == '':  # First value is ('', '---------')
                category_choices.append((choice[0], choice[1]))
            else:
                category_choices.append(
                    (choice[0], choice[1].split(',')[1].strip()
                     ))  # (1, 'brendan, Coffee, None, 30 days')

            if ',' in choice[1] and choice[1].split(',')[1].strip() == 'Bills':
                bills_id = choice[0]

        self.fields['category'].choices = category_choices

        if bills_id:
            self.fields['category'].initial = bills_id
Beispiel #26
0
 def __init__(self, attrs=None):
     widgets = (
         TextInput(),
         SelectMultiple(choices=beatles),
         SplitDateTimeWidget(),
     )
     super(ComplexMultiWidget, self).__init__(widgets, attrs)
Beispiel #27
0
 def __init__(self, attrs=None):
     widgets = (
         TextInput(),
         SelectMultiple(choices=WidgetTest.beatles),
         SplitDateTimeWidget(),
     )
     super().__init__(widgets, attrs)
Beispiel #28
0
 class Meta:
     model = Blog
     fields = ('title', 'description', 'category')
     widgets = {
         'title': TextInput(),
         'category': SelectMultiple(attrs={'class': 'categories'})
     }
Beispiel #29
0
class GroupForm(ModelForm):
    def __init__(self, *args, **kwargs):
        super(ModelForm, self).__init__(*args, **kwargs)
        if self.instance:
            self.fields["users"].initial = (
                self.instance.user_set.all().values_list('id', flat=True))

    users = ModelMultipleChoiceField(
        queryset=User.objects.all(),
        widget=SelectMultiple(attrs={'class': 'form-control single-select'}),
    )

    class Meta:
        model = Group
        fields = (
            'name',
            'users',
        )
        widgets = {
            'name': TextInput(attrs={'class': 'form-control'}),
        }

    def clean(self):
        group = self.instance
        users = self.cleaned_data['users']

        # remove old users
        if group.user_set.all():
            group.user_set.clear()

        # add new users
        for u in users:
            group.user_set.add(u)

        return self.cleaned_data
Beispiel #30
0
    class Meta:
        model = Node

        fields = [
            'name', 'management_ip', 'pf_custom_config', 'pf_limit_states',
            'pf_limit_frags', 'pf_limit_src', 'static_routes', 'gateway',
            'gateway_ipv6', 'internet_ip', 'scanner_ip', 'pstats_forwarders'
        ]

        widgets = {
            'name':
            TextInput(attrs={'class': 'form-control'}),
            'management_ip':
            TextInput(attrs={'class': 'form-control'}),
            'pf_custom_config':
            Textarea(attrs={'class': 'form-control'}),
            'pf_limit_states':
            TextInput(attrs={'class': 'form-control'}),
            'pf_limit_frags':
            TextInput(attrs={'class': 'form-control'}),
            'pf_limit_src':
            TextInput(attrs={'class': 'form-control'}),
            'static_routes':
            Textarea(attrs={'class': 'form-control'}),
            'gateway':
            TextInput(attrs={'class': 'form-control'}),
            'gateway_ipv6':
            TextInput(attrs={'class': 'form-control'}),
            'internet_ip':
            TextInput(attrs={'class': 'form-control'}),
            'pstats_forwarders':
            SelectMultiple(attrs={'class': 'form-control select2'}),
        }