Exemple #1
0
class FormResource(AjaxModelForm):
    description = forms.CharField(widget=MarkItUpWidget())
    kind = forms.CharField(required=False, widget=AutocompleteWithFavorites(
            ResourceKind, '/resource/search_by_kind/',
            ResourceKind.favorites(number=10), can_add=True))
    contact = forms.CharField(required=False, widget=MarkItUpWidget())
    tags = forms.Field(required=False, widget=TaggitWidget(
            autocomplete_url="/resource/search_tags/"))
    community = AutoCompleteSelectMultipleField('community', help_text='',
        required=False)
    files = FileuploadField(required=False)

    class Meta:
        model = Resource
        fields = ('name', 'description', 'kind', 'contact', 'tags', 'community',
            'id', 'files')

    _field_labels = {
        'name': _('Name'),
        'description': _('Description'),
        'kind': _('Kind'),
        'contact': _('Contact'),
        'tags': _('Tags'),
        'community': _('Community'),
        'files': _('Images'), }

    def __init__(self, *args, **kwargs):
        self.helper = MooHelper(form_id='form_resource')
        r = super(FormResource, self).__init__(*args, **kwargs)
        self.fields['name'].initial = ''
        return r

    @notify_on_update
    def save(self, *args, **kwargs):
        resource = super(FormResource, self).save(*args, **kwargs)
        UploadedFile.bind_files(
            self.cleaned_data.get('files', '').split('|'), resource)
        return resource

    def clean_kind(self):
        field_data = self.cleaned_data['kind']
        model = ResourceKind
        can_add = self.fields['kind'].widget.can_add
        try:
            if not field_data or field_data == 'None':
                if can_add and self.data.get('kind_autocomplete', ''):
                    new_kind = model(name=self.data['kind_autocomplete'])
                    new_kind.save()
                    return new_kind
                else:
                    return model()
            else:
                return model.objects.get(pk=field_data)
        except:
            raise forms.ValidationError(_('invalid field data'))
Exemple #2
0
class SignUpForm(forms.Form):
    username = forms.CharField(label="Email",
                               widget=forms.EmailInput(attrs={
                                   'id': 'user_email',
                                   'class': 'form-control'
                               }))
    password = forms.Field(label="Password",
                           widget=forms.PasswordInput(attrs={
                               'class': 'form-control',
                           }))
    password2 = forms.Field(label="Confirm Password",
                            widget=forms.PasswordInput(attrs={
                                'class': 'form-control',
                            }))

    def clean_username(self):
        new_email = self.cleaned_data.get("username")
        emails = User.objects.filter(email=new_email)
        if emails.exists():
            raise forms.ValidationError("Email is taken")
        return new_email

    def clean_password(self):
        password = self.cleaned_data.get("password")
        password2 = self.cleaned_data.get("password2")

        return password

    def clean(self):
        error_messages = [
            'Your passwords must match.',
            'Your password must have 8 characters at least',
            "Your password can't have all numbers"
        ]
        data = self.cleaned_data
        password = self.cleaned_data.get("password")
        password2 = self.cleaned_data.get("password2")
        password_valid = password == password2 and len(password) > 7 and (
            not str(password).isdigit())
        if not password_valid:
            raise forms.ValidationError(error_messages)
        return data
Exemple #3
0
class BeamsForm(forms.ModelForm):
    pair = forms.CharField(label='Pair',
                           widget=forms.TextInput(
                               attrs={
                                   'class': 'form-control input-lg',
                                   'name': 'title',
                                   'type': 'text',
                                   'id': 'title',
                                   'placeholder': 'Title'
                               }))
    tags = TagField(label_suffix=mark_safe(
        '<br/><small style="">Add Comma separated tags here</small>'),
                    widget=TagWidget(attrs={
                        'class': 'form-control input-lg',
                        'placeholder': 'Tags'
                    }),
                    required=False)

    entry = forms.Field(label='Entry',
                        widget=forms.Textarea(attrs={
                            'style': 'width:100%;',
                            'rows': '3'
                        }))
    targets = forms.Field(label='Targets',
                          widget=forms.Textarea(attrs={
                              'style': 'width:100%;',
                              'rows': '3'
                          }))
    stop_loss = forms.Field(label='Stop Loss',
                            widget=forms.Textarea(attrs={
                                'style': 'width:100%;',
                                'rows': '3'
                            }))
    exchange = forms.CharField(label='Exchange',
                               widget=forms.Select(choices=EXCHANGE_NAMES))
    color_class = forms.CharField(label='Beam Color',
                                  widget=forms.Select(choices=BEAMS_COLORS))

    class Meta:
        model = Beam
        fields = ('pair', 'tags', 'entry', 'targets', 'stop_loss', 'exchange',
                  'color_class')
Exemple #4
0
class VersionForm(forms.ModelForm):
    uuid = forms.UUIDField(disabled=True, required=False)
    timestamp = forms.DateTimeField(disabled=True, required=False)
    file_checksum = forms.Field(disabled=True, required=False)

    name = forms.CharField(max_length=50)
    creator = forms.IntegerField(disabled=True, min_value=0, required=False)

    class Meta:
        model = Version
        exclude = ['id', 'versioned_object', 'object_id', 'content_type']
Exemple #5
0
class FormPost(forms.ModelForm):
    """ Formulario de Cadastro de Post"""
    class Meta:
        model = Post
        fields = (
            'titulo',
            'texto',
        )

    texto = forms.Field(
        widget=forms.Textarea(attrs={'style': 'height:200px;'}), required=True)
Exemple #6
0
class GenerateForm(forms.Form):
    region = forms.ChoiceField(required=True, choices=REGIONS)
    seed = forms.Field(required=False)
    mode = forms.ChoiceField(required=True, choices=MODES)
    debug_mode = forms.BooleanField(required=False, initial=False)

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

        for flag in FLAGS:
            self.fields[flag[0]] = forms.BooleanField(required=False, initial=False)
Exemple #7
0
class AppleStoreVerifyReceipt(forms.Form):
    receipt_data = forms.Field()
    response_data = None

    def clean(self):
        data = app_store_verify_receipt(self.cleaned_data['receipt_data'])
        if not data or 'receipt' not in data:
            log.error('app store verify receipt returned:\n%s\n for:\n%s' % (data, self.cleaned_data['receipt_data']))
            raise forms.ValidationError('apple verify receipt does not return correct data')
        self.response_data = data
        return self.cleaned_data
Exemple #8
0
class EditItemsForm(ActiveProjectFilesForm):
    """
    Abstract form for manipulating existing files/directories.
    """
    items = forms.Field(required=False)

    def clean_items(self):
        items = self.data.getlist('items')
        for item in items:
            validators.validate_oldfilename(item)
        return items
Exemple #9
0
class SpecsUpdateForm(forms.ModelForm):
    endpoint = forms.Field()

    class Meta:
        model = m.Profile
        fields = [
            'endpoint', 'async_func', 'async_result_url',
            'async_result_time_delay', 'json_spec'
        ]
        labels = {
            'async_func': 'Async',
            'async_result_time_delay': '',
            'async_result_url': ''
        }

    def clean_json_spec(self):
        async_func = self.cleaned_data['async_func']
        json_spec = self.cleaned_data['json_spec']
        print(async_func)
        try:
            # print(json_spec)
            json_spec_check = json.loads(
                json_spec.replace('\r', '').replace('\t',
                                                    '').replace('\n', ''))

            for pack in json_spec_check:
                if (async_func):
                    self.validator(pack, 4)
                else:
                    self.validator(pack, 3)
            # print(json_spec_check)
        except json.decoder.JSONDecodeError:
            raise forms.ValidationError(
                '''Please enter a valid jason object list using " as quotations for keys and values and ' inside request and respond packets where quotes are needed'''
            )
        return json_spec

    def is_int(self, s):
        check = False
        try:
            int(s)
            check = True
            return check
        except (TypeError, ValueError):
            return check

    def validator(self, pack, length):
        if len(pack) != length:
            raise forms.ValidationError(
                f'''Please make sure each list inside the jason object contains {length} elements.'''
            )
        if not self.is_int(pack[2]):
            raise forms.ValidationError(
                'Please specify a valid response status code')
Exemple #10
0
class CommentForm(forms.ModelForm):

    user_name = forms.CharField(label=u'Nome')
    user_email = forms.EmailField(label=u'E-mail')
    comment = forms.Field(label=u'Comentário', widget=forms.Textarea)
    captcha = CaptchaField()

    class Meta:
        model = Comment
        fields = ('user_name', 'user_email', 'comment', 'submit_date')
        exclude = "submit_date",
Exemple #11
0
class SurveyChoiceForm(forms.Form):
    """ Choose how to proceed with a survey
    """
    survey_id = forms.Field(widget=forms.HiddenInput)
    proceed_choice = forms.ChoiceField(
        widget=RadioSelect,
        choices=_SURVEY_CHOICES,
        label=_('Would you like to participate?'),
        initial='now')

    as_div = as_div
Exemple #12
0
class ChangeUserPasswordForm(forms.Form):
    password1 = forms.Field(label='New Password', widget=forms.PasswordInput)
    password2 = forms.Field(label='Password confirmation', widget=forms.PasswordInput)
    current_password = forms.Field(label='Old Password', widget=forms.PasswordInput)

    def __init__(self, *args, **kwargs):
        self.user = kwargs.pop('user', None)
        super(ChangeUserPasswordForm, self).__init__(*args, **kwargs)

    def clean(self):
        cleaned_data = super().clean()

        if ('password1' not in cleaned_data) or ('password2' not in cleaned_data) \
                or cleaned_data['password1'] != cleaned_data['password2']:
            raise forms.ValidationError("Podane hasła nie są takie same!")

        if ('current_password' not in cleaned_data) or not self.user.check_password( cleaned_data['current_password'] ):
            raise forms.ValidationError("Podane hasło jest błędne!")

        return cleaned_data
Exemple #13
0
class UploadForm(forms.Form):
    file = forms.FileField(label='File:')
    # 由于文件不能单独上传,设置一个隐藏字段帮助正确识别文件字段
    assist = forms.Field(label='', widget=forms.HiddenInput, required=False)

    def clean_file(self):
        file = self.cleaned_data.get('file')
        ext = file.name.split('.')[-1].lower()
        if ext not in 'txt':
            raise forms.ValidationError('file must not none')
        return file
Exemple #14
0
class ResultsForm(forms.ModelForm):
    endpoint = forms.Field(required=False, disabled="disabled", label="")
    result = forms.CharField(required=False,
                             disabled="disabled",
                             widget=forms.Textarea,
                             label="")

    class Meta:
        model = m.Profile
        fields = ['endpoint', 'result']
        labels = {'endpoint': '', 'result': ''}
Exemple #15
0
class EnterpriseCustomerCatalogAdminForm(forms.ModelForm):
    """
        form for EnterpriseCustomerCatalogAdmin class.
    """
    class Meta:
        model = EnterpriseCustomerCatalog
        fields = "__all__"

    preview_button = forms.Field(
        required=False,
        label='Actions',
        widget=SubmitInput(attrs={'value': _('Preview')}),
        help_text=_(
            "Hold Ctrl when clicking on button to open Preview in new tab"))

    @staticmethod
    def get_enterprise_customer_catalog_preview_button(post_data):  # pylint: disable=invalid-name
        """
        Return name of the preview button clicked by user from POST data.

        e.g: 'enterprise_customer_catalogs-0-preview_button'
        """
        catalog_preview_button = re.compile(
            r'enterprise_customer_catalogs-\d+-preview_button')
        for key, _ in post_data.items():
            if catalog_preview_button.match(key):
                return key
        return None

    @classmethod
    def get_clicked_preview_content_filter(cls, post_data):
        """
        Return content_filter for the EnterpriseCustomerCatalog against preview button clicked.
        """
        catalog_preview_button = cls.get_enterprise_customer_catalog_preview_button(
            post_data)
        if not catalog_preview_button:
            return None
        content_filter_key = catalog_preview_button.replace(
            'preview_button', 'content_filter')
        enterprise_catalog_query_key = catalog_preview_button.replace(
            'preview_button', 'enterprise_catalog_query')
        enterprise_catalog_query_id = post_data.get(
            enterprise_catalog_query_key)
        if enterprise_catalog_query_id:
            content_filter = EnterpriseCatalogQuery.objects.filter(
                id=enterprise_catalog_query_id).first().content_filter
            content_filter = json.dumps(content_filter)
        else:
            content_filter = post_data.get(content_filter_key)

        if not content_filter:
            return None
        return json.loads(content_filter)
Exemple #16
0
class CompanyBankConfigForm(forms.Form):
    choices = ((True, 'SÍ'), (False, 'NO'))
    bank_code = forms.ChoiceField(label="Seleccionar banco")
    agreement = forms.Field(widget=forms.NumberInput(attrs={'min': 0}),
                            label="Número de convenio")
    cashinAvailable = forms.ChoiceField(choices=choices,
                                        label="Habilitar cashin automático")
    maxAcceptedRate = forms.Field(widget=forms.NumberInput(attrs={
        'step': 0.01,
        'min': 0
    }),
                                  label="Tasa máxima de aceptación de cashin",
                                  required=False)
    validationAmountActive = forms.ChoiceField(
        choices=choices, label="Validacion de montos maximos")
    cashoutAvailable = forms.ChoiceField(choices=choices,
                                         label="Desembolso Automatico")
    cashoutMaxAmountByDay = forms.Field(
        widget=forms.NumberInput(attrs={'min': 0}),
        label="Monto máximo de desembolsos por día",
        required=False)
    refundAvailable = forms.ChoiceField(choices=choices,
                                        label="Devolucion automática")
    refundMaxAmountByDay = forms.Field(
        widget=forms.NumberInput(attrs={'min': 0}),
        label="Monto máximo de devoluciones por día",
        required=False)
    company_code = forms.Field(widget=forms.HiddenInput)

    def __init__(self, *args, **kwargs):
        super(CompanyBankConfigForm, self).__init__(*args, **kwargs)
        core_middleware_client = CoreMiddlewareClient()
        self.fields['bank_code'].choices = [
            (banks.get("code"), banks.get("name"))
            for banks in core_middleware_client.banks().json()
        ]
        self.helper = FormHelper()
        self.helper.form_method = 'POST'
        self.helper.form_class = 'form-horizontal'
        self.helper.form_action = 'company_bank_config_send'
        self.helper.add_input(Submit('submit', 'Guardar'))
Exemple #17
0
class NeedForm(AjaxModelForm):
    class Meta:
        model = Need
        fields = need_form_fields

    _field_labels = need_form_field_labels

    class Media:
        js = ('lib/jquery.imagetick-original.js', )

    community = AutoCompleteSelectMultipleField('community',
                                                help_text='',
                                                required=False)

    description = forms.CharField(widget=MarkItUpWidget())

    categories = forms.ModelMultipleChoiceField(
        queryset=NeedCategory.objects.all().order_by('name'),
        widget=ImageSwitchMultiple(
            get_image_tick=NeedCategory.get_image,
            get_image_no_tick=NeedCategory.get_image_off))

    target_audiences = forms.Field(widget=Tagsinput(
        TargetAudience, autocomplete_url="/need/target_audience_search"))

    tags = forms.Field(
        widget=TaggitWidget(autocomplete_url="/need/tag_search"),
        required=False)

    files = FileuploadField(required=False)

    def __init__(self, *a, **kw):
        self.helper = MooHelper(form_id="need_form")
        return super(NeedForm, self).__init__(*a, **kw)

    @notify_on_update
    def save(self, *args, **kwargs):
        need = super(NeedForm, self).save(*args, **kwargs)
        UploadedFile.bind_files(
            self.cleaned_data.get('files', '').split('|'), need)
        return need
Exemple #18
0
class DomicilioFormSet(forms.ModelForm):
    calle_numero_apartado_postal = forms.Field(
        label='Apartado Postal o Calle y número',
        widget=forms.TextInput(
            attrs={'placeholder': 'Apartado Postal o Calle y número'}),
        required=False,
        help_text='')
    colonia = forms.Field(
        label='Colonia',
        widget=forms.TextInput(attrs={'placeholder': 'Colonia'}),
        required=False,
        help_text='')
    municipio_delegacion = forms.Field(
        label='Delegación o Municipio',
        widget=forms.TextInput(
            attrs={'placeholder': 'Delegación o Municipio'}),
        required=False,
        help_text='')
    codigo_postal = forms.IntegerField(
        widget=forms.TextInput(attrs={'placeholder': 'Código postal'}),
        required=False,
        help_text='')
    ciudad = forms.Field(
        label='Ciudad',
        widget=forms.TextInput(attrs={'placeholder': 'Ciudad'}),
        required=False,
        help_text='')
    estado = forms.ChoiceField(label=_("Estado"),
                               choices=OPCIONES_ESTADOS,
                               required=False)
    telefono = forms.Field(
        widget=forms.TextInput(attrs={'placeholder': 'Telefono'}),
        required=False,
        help_text='')

    class Meta:
        domicilioProfesional = forms.ChoiceField(
            #widget=forms.TextInput(attrs={'placeholder': 'Institución'}),
            required=False)
        model = Domicilio
        exclude = ['socio']
Exemple #19
0
class RegistrationForm(UserCreationForm):
    email = forms.EmailField(required=True)
    firstName = forms.Field(required=True)
    lastName = forms.Field(required=True)

    class Meta:
        model = User
        fields = [
            'username', 'firstName', 'lastName', 'email', 'password1',
            'password2'
        ]

    def save(self, commit=True):
        user = super(RegistrationForm, self).save(commit=False)
        user.firstName = self.cleaned_data['firstName']
        user.lastName = self.cleaned_data['lastName']
        user.email = self.cleaned_data['email']

        if commit:
            user.save()
        return user
Exemple #20
0
class SettingsForm(forms.Form):
    """
    Django Form for Settings. This should change in the future (and not use Django Forms at all).
    """

    email = forms.EmailField(required=True, label=_('Email'))
    firstname = forms.CharField(required=True, label=_('Full name'))
#    lastname = forms.CharField(required=True, label='Last name')
    description = forms.CharField(widget=forms.Textarea(), required=False, label=_("Blurb about yourself"))

    image = forms.Field(widget=forms.FileInput(), required=False, label=_('Image'))
    notification_filter = forms.CharField(required=False, label=_('Notification filter'))
Exemple #21
0
class SuggestNews(forms.Form):
    text = forms.Field(label='Текст новини',
                       widget=forms.Textarea(
                           attrs={
                               'rows': 8,
                               'placeholder': 'Опишіть вашу новину.',
                               'style': 'width: 100%;'
                           }))
    file_field = forms.FileField(
        label='Матеріали',
        widget=forms.ClearableFileInput(attrs={'multiple': True}),
        validators=[validate_file_extension])
Exemple #22
0
class objetoForm(forms.ModelForm):
    nota = forms.Field()

    class Meta:
        models = objeto
        #exclude = ['created_by', 'deleted_by']

    def __init__(self, *args, **kwargs):
        super(objetoForm, self).__init__(*args, **kwargs)
        self.fields['nota'] = forms.CharField(label='Nota',
                                              widget=forms.Textarea)
        self.fields['nota'].required = False
Exemple #23
0
class MultipleSelectionQuestionForm(QuestionForm):
    catalog = forms.ChoiceField()
    display_fields = forms.Field(required=False)

    CHECKBOX = 0
    MULTIPLE_SELECT = 1
    COMBOBOX = 2
    WIDGET_CHOICES = (
        (CHECKBOX, _('Checkbox')),
        (MULTIPLE_SELECT, _('Multiple Select')),
        (COMBOBOX, _('Combobox'))
    )
    widget = forms.ChoiceField(
        widget=forms.RadioSelect(attrs={
            'id': str(random.randint(50, 10000)) + '_select'
        }),
        required=True,
        choices=WIDGET_CHOICES
    )

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

        # Catalog
        catalog_choices = ((index, model[1].capitalize()) for index, model in enumerate(models))
        self.fields['catalog'].choices = catalog_choices

        if 'instance' in kwargs:
            instance = kwargs.get('instance')
            if instance is not None:
                answer_options = json.loads(instance.answer_options)
                if 'widget' in answer_options:
                    self.fields['widget'].initial = answer_options['widget']

    class Meta:
        model = Question
        fields = ('text', 'help', 'required', 'id', 'widget')
        widgets = {
            'text': forms.Textarea(attrs={
                'rows': 6,
                'placeholder': _('Write your question here'),
                'class': 'form-control'
            }),
            'help': forms.Textarea(attrs={
                'cols': 80,
                'rows': 5,
                'placeholder': _('A little help never hurts'),
                'class': 'form-control'
            }),
            'required': forms.Select(attrs={
                'class': 'form-control'
            })
        }
Exemple #24
0
class UniqueSelectionQuestionForm(QuestionForm):
    catalog = forms.ChoiceField()
    display_fields = forms.Field(required=False)

    extra = None

    class Meta:
        model = Question
        fields = ('text', 'help', 'required', 'id')
        widgets = {
            'text': forms.Textarea(attrs={
                'rows': 6,
                'placeholder': _('Write your question here'),
                'class': 'form-control'
            }),
            'help': forms.Textarea(attrs={
                'cols': 80,
                'rows': 5,
                'placeholder': _('A little help never hurts'),
                'class': 'form-control'
            }),
            'required': forms.Select(attrs={
                'class': 'form-control'
            })
        }

    def __init__(self, *args, **kwargs):
        if 'extra' in kwargs:
            self.extra = kwargs.pop('extra')
        super(UniqueSelectionQuestionForm, self).__init__(*args, **kwargs)

        if self.extra is not None and 'widgets' in self.extra:
            widgets_choices = self.extra['widgets']
        else:
            widgets_choices = ()

        # Catalog
        catalog_choices = ((index, model[1].capitalize()) for index, model in enumerate(models))
        self.fields['catalog'].choices = catalog_choices
        initial_widget = None
        if self.extra and 'answer_options' in self.extra and self.extra['answer_options'] is not None:
            initial_widget = self.extra['answer_options']['widget'][0]

        # Widget
        if widgets_choices is not None:
            self.fields['widget'] = forms.ChoiceField(
                widget=forms.RadioSelect(attrs={
                    'id': str(random.randint(50, 10000)) + '_select'
                }),
                required=True,
                choices=widgets_choices,
                initial=initial_widget
            )
Exemple #25
0
class ReporteForm(forms.Form):
    instalacion = forms.Field(
        label="Instalacion:",
        widget=forms.Select(attrs={'class': 'col-md-4 form-control'}))
    puntocontrol = forms.Field(
        label="Punto de Control:",
        widget=forms.Select(attrs={'class': 'col-md-4 form-control'}))
    empleado = forms.Field(
        label="Empleado:",
        widget=forms.Select(attrs={'class': 'col-md-4 form-control'}))
    fecha_inicio = forms.Field(label="De",
                               widget=forms.DateInput(
                                   format='%Y-%m-%d',
                                   attrs={
                                       'class': 'js-datepicker form-control',
                                       'data-date-format': 'yyyy-mm-dd',
                                       'placeholder': 'AAAA-MM-DD'
                                   }))
    fecha_fin = forms.Field(label="A",
                            widget=forms.DateInput(
                                format='%Y-%m-%d',
                                attrs={
                                    'class': 'js-datepicker form-control',
                                    'data-date-format': 'yyyy-mm-dd',
                                    'placeholder': 'AAAA-MM-DD'
                                }))
    evento = forms.Field(
        label="Evento:",
        widget=forms.Select(attrs={'class': 'col-md-4 form-control'}))
class UserRegistrationForm(UserCreationForm):
    username = forms.Field(
        required=True, widget=forms.TextInput(attrs={'class': 'form-control'}))
    email = forms.Field(
        required=True,
        widget=forms.EmailInput(attrs={'class': 'form-control'}))
    password1 = forms.Field(
        label='Password',
        required=True,
        widget=forms.PasswordInput(attrs={'class': 'form-control'}))
    password2 = forms.Field(
        label='Password Confirmation',
        required=True,
        widget=forms.PasswordInput(attrs={'class': 'form-control'}))
    first_name = forms.Field(
        required=True, widget=forms.TextInput(attrs={'class': 'form-control'}))
    last_name = forms.Field(
        required=True, widget=forms.TextInput(attrs={'class': 'form-control'}))

    class Meta:
        model = User
        exclude = ['id', 'enabled', 'address', 'image']
        fields = [
            'username', 'email', 'password1', 'password2', 'first_name',
            'last_name'
        ]

    def save(self, commit=True):
        user = super(UserRegistrationForm, self).save(commit=False)
        user_address = Address()
        user_address.save()
        user.address = user_address

        if commit:
            user.save()
Exemple #27
0
class LogEntryAdminForm(forms.ModelForm):
    object_link = forms.Field(
        required=False,
        label=_('Entry'),
        widget=LinkWidget,
    )

    user_link = forms.Field(
        required=False,
        label=_('User'),
        widget=LinkWidget,
    )

    class Meta:
        model = LogEntry
        fields = '__all__'
        widgets = {
            'action_flag': forms.Select(choices=ACTION_CHOICES),
            'change_message': forms.Textarea(attrs={'class': 'input-block-level', 'rows': 4}),
        }

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

        try:
            obj = self.instance.get_edited_object()
        except ObjectDoesNotExist:
            self.fields['object_link'].widget = forms.HiddenInput()
            self.fields['object_link'].help_text = '--//--'
        else:
            self.initial['object_link'] = self.instance.get_admin_url()
            self.fields['object_link'].widget.text = str(obj)

        if self.instance.user:
            admin_user_model = settings.AUTH_USER_MODEL.lower().replace('.', '_')
            self.initial['user_link'] = resolve_url('admin:{}_change'.format(admin_user_model), self.instance.user.pk)
            self.fields['user_link'].widget.text = str(self.instance.user)
        else:
            self.fields['user_link'].widget = forms.HiddenInput()
            self.fields['user_link'].help_text = '--//--'
Exemple #28
0
class AjustesDetailCreate(forms.Form):

    id_funcionario = forms.Field()
    funcionario = forms.CharField()
    anho = forms.IntegerField(label='Año',
                              min_value=date.today().year - 2,
                              max_value=date.today().year)
    libres = forms.IntegerField(label='Días Libres',
                                min_value=min_dias,
                                max_value=max_dias)
    helper = FormHelperHorizontal()
    helper.layout = Layout(
        Field('id_funcionario', type="hidden"),
        Field('funcionario', readonly=""), Field('anho', placeholder="Año"),
        Field('libres', placeholder="Días Libres", readonly=""))

    def clean(self):
        cleaned_data = super(AjustesDetailCreate, self).clean()
        anho = cleaned_data.get("anho")
        id_funcionario = cleaned_data.get("id_funcionario")
        libres = cleaned_data.get("libres")

        periodos = Periodo.objects.filter(funcionario_id=id_funcionario,
                                          anho=anho)

        if periodos.count() > 0:
            raise forms.ValidationError({
                "anho":
                "El periodo " + str(anho) +
                " ya se encuentra creado para el funcionario"
            })

        if anho is None:
            return

        try:
            antiguedad = Antiguedad.objects.filter(
                anhos_antiguedad__lte=anho).order_by(
                    '-anhos_antiguedad')[:1].get()

            if antiguedad.dias_libres < libres:
                raise forms.ValidationError({
                    "libres":
                    "La antiguedad del funcionario correspondiente al " +
                    str(anho) + " es hasta " + str(antiguedad.dias_libres) +
                    " dias"
                })
        except Antiguedad.DoesNotExist, e:
            raise forms.ValidationError({
                "libres":
                "El funcionario no puede solicitar vacaciones porque no tiene antiguedad suficiente"
            })
Exemple #29
0
class UploadImageForm(forms.Form):
    title = forms.CharField(label='Title', max_length=200)
    up_file = forms.ImageField(label='Image URL', )
    description = forms.Field(widget=forms.Textarea(attrs={
        'cols': 50,
    }),
                              label='Description',
                              required=False)
    public_share = forms.BooleanField(
        initial=False,
        required=False,
        label='Public Sharing',
    )
Exemple #30
0
 def __init__(self, *args, **kwargs):
     algorithms = kwargs.pop('algorithms')
     variables = kwargs.pop('variables')
     objectives = kwargs.pop('objectives')
     variable_type = kwargs.pop('variable_type')
     super(ProblemInputVariable, self).__init__(*args, **kwargs)
     self.fields['variables'] = forms.IntegerField(
         label='Number of variables',
         widget=forms.TextInput(attrs={'readonly': True}))
     self.fields['variable_type'] = forms.Field(
         label='Solution type',
         widget=forms.TextInput(attrs={'readonly': True}))
     for i in range(variables):
         self.fields['variable_name_%s' % i] = forms.Field(
             label='Variable Name %s' % (i + 1), required=False)
     self.fields['objectives'] = forms.IntegerField(
         label='Number of objectives',
         widget=forms.TextInput(attrs={'readonly': True}))
     for i in range(objectives):
         self.fields['objectives_name_%s' % i] = forms.Field(
             label='Objectives Name %s' % (i + 1), required=False)
     self.fields['variables'].initial = variables
     self.fields['variable_type'].initial = variable_type
     self.fields['objectives'].initial = objectives
     self.fields['input_csv'] = forms.FileField(
         label='Select the csv or rs file with the best solutions you have',
         required=False,
         validators=[validate_file_ext(['.csv', '.rf'])])
     self.fields['algorithm_choice_method'] = forms.ChoiceField(
         label='Select the algorithm choice method',
         choices=(('Manual', 'Manual'), ('Automatic', 'Automatic'),
                  ('Mixed', 'Mixed')))
     self.fields['choices'] = forms.MultipleChoiceField(
         label='Select the algorithms to run the problem with',
         choices=zip(algorithms,
                     [algorithm.split('.')[-1]
                      for algorithm in algorithms]),
         widget=forms.CheckboxSelectMultiple,
         required=True)