Ejemplo n.º 1
0
 class Meta:
     model = Inversiones
     fields = '__all__'
     exclude = [
         'declaraciones', 'domicilios', 'observaciones', 'info_personal_var'
     ]
     widgets = {
         'fecha_inicio':
         DatePickerInput(
             options={
                 "format": 'YYYY-MM-DD',
                 "locale": "es",
                 "ignoreReadonly": True,
                 "maxDate": 'now'
             })
     }
Ejemplo n.º 2
0
class UserProfileUpdateForm(forms.ModelForm):
    """Form to allow users to update their profile information"""
    dob = forms.DateField(
        widget=DatePickerInput(format='%m/%d/%Y'),
        label=_("Date of Birth"),
        required=False,
    )

    class Meta:
        model = models.UserProfile
        fields = (
            'dob',
            'bio',
            'location',
            'hobby',
        )
Ejemplo n.º 3
0
class SearchTicket(forms.Form):
    city_from = forms.CharField(label='Откуда',
                                widget=AjaxInputWidget(
                                    'api/city_ajax',
                                    attrs={'class': 'form-control'}))
    city_to = forms.ChoiceField(
        label='Куда',
        choices=[(str(i), str(i))
                 for i in City.objects.all().order_by('name')],
        widget=forms.Select(attrs={'class': 'form-control'}))
    date = forms.DateField(label='Когда',
                           widget=DatePickerInput(format='DD/MM/YYYY',
                                                  options={
                                                      'showTodayButton': True,
                                                      'locale': 'ru'
                                                  }))
Ejemplo n.º 4
0
	class Meta:
		model = Event
		fields = ("name" , "description", "event_date", "event_time", "event_place","event_url", "event_status","event_type", )
		labels = {
		"name": "Nombre: ",
		"description": "Descripción: ", 
		"event_date": "Fecha: ",
		"event_time": "Hora: ",
		"event_place": "Lugar: ",
		"event_url": "Url: ",
		"event_status": "Estado: ", 
		"event_type": "Tipo de evento: "
		}
		widgets = {
		"event_date" : DatePickerInput(),
		}
Ejemplo n.º 5
0
class SiteSelectionForm(forms.ModelForm):
    site_number = forms.ModelChoiceField(
        queryset=SiteDescription.objects.filter(is_active=True),
        widget=autocomplete.ModelSelect2(url='autocomplete_sitenumber')
    )
    date = forms.DateField(
        widget = DatePickerInput(format='%Y-%m-%d'),
        required = False,
        initial=datetime.date.today,
    )
    meter = forms.IntegerField(required=False)
    rain = forms.IntegerField(required=False)

    class Meta:
        model = Site
        fields = ['id',]
Ejemplo n.º 6
0
    class Meta:
        model = Item
        fields = ['category', 'name', 'description', 'available_date', 'price']

        # TODO: Maybe, make date format as 'YYYY/MM/DD'
        datepicker_params = {
            'minDate':
            datetime.date.today().strftime('%m/%d/%Y'),
            'maxDate': (datetime.date.today() + datetime.timedelta(
                days=ADVANCE_AVAILABILITY_DAYS)).strftime('%m/%d/%Y'),
            'showTodayButton':
            True
        }
        widgets = {
            'available_date': DatePickerInput(options=datepicker_params)
        }
Ejemplo n.º 7
0
class UserProfileUpdateForm(forms.ModelForm):
    first_name = forms.CharField(widget=forms.TextInput(
        attrs={"class": "form-control"}))
    last_name = forms.CharField(widget=forms.TextInput(
        attrs={"class": "form-control"}))
    country = forms.CharField(widget=forms.TextInput(
        attrs={"class": "form-control"}))
    state = forms.CharField(widget=forms.TextInput(
        attrs={"class": "form-control"}))
    DOB = forms.DateField(widget=DatePickerInput(format='%d-%m-%Y'))
    profile_pic = forms.ImageField(widget=forms.FileInput)

    class Meta:
        model = UserProfile
        fields = ('first_name', 'last_name', 'DOB', 'state', 'country',
                  'profile_pic')
Ejemplo n.º 8
0
 class Meta:
     model = InfoPersonalVar
     fields = '__all__'
     exclude = [
         'declaraciones', 'domicilios', 'observaciones', 'activos_bienes'
     ]
     widgets = {
         'fecha_nacimiento':
         DatePickerInput(
             options={
                 "format": 'YYYY-MM-DD',
                 "locale": "es",
                 "ignoreReadonly": True,
                 "maxDate": 'now'
             })
     }
Ejemplo n.º 9
0
 class Meta:
     model = Bills
     fields = '__all__'
     widgets = {
         'Revstreams':
         forms.CheckboxSelectMultiple(),
         'due_date':
         DatePickerInput(
             options={
                 "format": "MM/DD/YYYY",
                 "showClose": True,
                 "showClear": True,
                 "showTodayButton": True,
             }),
     }
     exclude = ['status', 'generated_by', 'bill_id']
Ejemplo n.º 10
0
class AdhesionForm(forms.Form):
    nom_et_prenom = forms.CharField(widget=forms.TextInput(attrs={'placeholder': 'Nom & Prenom'}))
    numero_de_telephone = PhoneNumberField()
    date_de_naissance = forms.DateField(
        widget=DatePickerInput(format='%m/%d/%Y')
    )
    email = forms.EmailField(widget=forms.TextInput(attrs={'placeholder': 'Adresse electronique'}))
    domicile = forms.CharField(
        label='Adresse',
        widget=forms.TextInput(attrs={'placeholder': 'Rue 26, abidjan'}),
        )
    profession = forms.CharField(
        label='Profession',
        widget=forms.TextInput(attrs={'class': 'form-control'}),
    )
    pays_de_residence = CountryField().formfield()
    genre = forms.ChoiceField(choices=GENRE)
    lieu_de_naissance = forms.CharField(
        widget=forms.TextInput(attrs={'placeholder': 'DEBO S/P Zoukougbeu'}),
    )
    ville_de_residence = forms.CharField()

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.layout = Layout(
            Row(
                Column('nom_et_prenom', css_class='form-group col-md-4 mb-0'),
                Column('email', css_class='form-group col-md-4 mb-0'),
                Column('numero_de_telephone', css_class='form-group col-md-4 mb-0'),
                css_class='form-row'
            ),
            Row(
                Column('genre', css_class='form-group col-md-4 mb-0'),
                Column('date_de_naissance', css_class='form-group col-md-4 mb-0'),
                Column('lieu_de_naissance', css_class='form-group col-md-4 mb-0'),
                css_class='form-row'
            ),
            'domicile',
            Row(
                Column('ville_de_residence', css_class='form-group col-md-4 mb-0'),
                Column('pays_de_residence', css_class='form-group col-md-4 mb-0'),
                Column('profession', css_class='form-group col-md-4 mb-0'),
                css_class='form-row'
            ),
            Submit('submit', 'Soumettre')
        )
Ejemplo n.º 11
0
class agregarIntervencionForm(ModelForm):
    TIPOS = (('Personal', 'Personal'), ('Campus virtual', 'Campus virtual'),
             ('Instagram', 'Instagram'), ('Facebook', 'Facebook'),
             ('Correo electronico', 'Correo electronico'), ('Otro', 'Otro'))
    alumno = forms.ModelChoiceField(
        help_text="Ingrese el alumno involucrado en la intervención.",
        queryset=Alumno.objects.all(),
        widget=Select2Widget)
    materia = forms.ModelChoiceField(
        required=False,
        help_text="Ingrese la materia a la cual corresponda la consulta.",
        queryset=Materia.objects.all(),
        widget=Select2Widget)
    tutor_asignado = forms.ModelChoiceField(
        help_text="Ingrese el tutor que se encarga de la consulta.",
        queryset=Tutor.objects.all(),
        widget=Select2Widget)
    tipo = forms.ModelChoiceField(
        help_text="Ingrese el tipo de la intervención.",
        queryset=Tipo.objects.all(),
        widget=Select2Widget)
    medio = forms.ChoiceField(
        help_text="Ingrese el medio por el cuál se efectuó la intervención.",
        choices=TIPOS,
        widget=Select2Widget)
    descripcion = forms.CharField(widget=forms.Textarea)
    fecha_alta = forms.DateField(widget=DatePickerInput(format='%Y-%m-%d'))

    def is_valid(self):
        valid = super(agregarIntervencionForm, self).is_valid()
        if not valid:
            for e in super(agregarIntervencionForm, self).errors:
                if e == 'materia':
                    return True
                else:
                    return False
        return valid

    class Meta:
        model = Intervencion
        exclude = ['fecha_baja', 'estado']

    def __init__(self, *args, **kwargs):
        user = kwargs.pop('user', None)
        super(agregarIntervencionForm, self).__init__(*args, **kwargs)
        if not user.is_staff:
            del self.fields['tutor_asignado']
Ejemplo n.º 12
0
 class Meta:
     model = Aluno
     fields = [
         'nome', 'dt_nascimento', 'cpf', 'rg', 'cep', 'curso', 'bolsista',
         'observacoes'
     ]
     widgets = {
         'nome':
         TextInput(attrs={'readonly': 'readonly'}),
         'dt_nascimento':
         DatePickerInput(options={
             "format": "DD/MM/YYYY",
             "locale": "pt",
         },
                         attrs={
                             'placeholder': 'Ex: 31/12/2000',
                             'data-mask': "00/00/0000"
                         }),
         'curso':
         TextInput(attrs={'readonly': 'readonly'}),
         'cpf':
         TextInput(attrs={'readonly': 'readonly'}),
         'rg':
         TextInput(attrs={
             'placeholder': 'RG do aluno',
             'data-mask': "00.000.000-0"
         }),
         'cep':
         TextInput(
             attrs={
                 'placeholder': 'CEP do endereço do aluno',
                 'data-mask': "00000-000"
             }),
         'observacoes':
         Textarea(
             attrs={
                 'rows': 5,
                 'cols': 22,
                 'style': 'resize:none;',
                 'placeholder': 'Observações a do aluno'
             }),
         'bolsista':
         CheckboxInput(attrs={
             'style': 'width:20px;height:20px;',
             'id': 'checkbolsista'
         })
     }
Ejemplo n.º 13
0
class ScoutSignUpForm(UserCreationForm):
    dob = forms.DateField(widget=DatePickerInput(format='%m/%d/%Y'))

    class Meta(UserCreationForm.Meta):
        model = User
        fields = ('username', 'password1', 'password2')

    @transaction.atomic
    def save(self):
        user = super().save(commit=False)
        user.is_scout = True
        user.save()
        scout = Scout.objects.create(
            user=user,
            dob=self.cleaned_data.get('dob'),
        )
        return user
Ejemplo n.º 14
0
 class Meta:
     model = Consulta
     fields = '__all__'
     exclude = readonly_fields
     # widgets = {
     #     'fecha': forms.DateInput(format='%d-%m-%Y', attrs={
     #         'class': 'datetimepicker-input',
     #         'id': 'fecha',
     #         'value': datetime.now().strftime('%d/%m/%Y'),
     #         'data-toggle': 'datetimepicker',
     #         'data-target': '#fecha'
     #     }),
     #     'hora': forms.TimeInput(format='%H:%M:%S', attrs={
     #         'class': 'datetimepicker-input',
     #         'id': 'hora',
     #         'value': datetime.now().strftime('%H:%M:%S'),
     #         'data-toggle': 'datetimepicker',
     #         'data-target': '#hora'
     #     }),
     widgets = {
         'fecha':
         DatePickerInput(attrs={'class': 'col-md-2'},
                         options={
                             "format": "DD/MM/YYYY",
                             "locale": "es",
                         }),
         'hora':
         TimePickerInput(
             attrs={'class': 'col-md-2'},
             options={
                 # "format": "HH:MM:SS",
                 "locale": "es",
             }),
         #'titulo':forms.TextInput(attrs={'class': 'form-control',
         #                                'placeholder' : 'Ingrese su número de Cédula'}),
         'motivo_consulta':
         forms.Select(attrs={
             'class': 'form-control select2',
             'style': 'width: 100%;'
         }),
         'paciente':
         forms.Select(attrs={
             'class': 'form-control select2',
             'style': 'width: 100%;'
         }),
     }
Ejemplo n.º 15
0
    def get_form(self, form_class=None):
        form = super().get_form(form_class)
        form.helper = FormHelper()

        form.fields['date'] = forms.DateField(widget=DatePickerInput(
            format='%m/%d/%Y'))
        form.helper.add_input(
            Submit('submit', 'Modifier', css_class='btn-primary'))
        form.helper.add_input(
            Button('cancel',
                   'Annuler',
                   css_class='btn-secondary',
                   onclick="window.history.back()"))
        self.success_url = reverse(
            'facture_table_detail',
            kwargs={'pk': self.kwargs.get('facture_pk')})
        return form
Ejemplo n.º 16
0
    class Meta:
        model = Student
        fields = ('admission_no', 'admission_date', 'guardian',
                  'relation_With_Guardian', 'classroom', 'section', 'group',
                  'roll_no', 'registration_no', 'roles', 'caste',
                  'student_type', 'fees_discount', 'second_language',
                  'previous_school', 'previous_class', 'transfer_certificate',
                  'father_name', 'father_phone', 'father_education',
                  'father_profession', 'father_designation', 'father_photo',
                  'mother_name', 'mother_phone', 'mother_education',
                  'mother_profession', 'mother_designation', 'mother_photo',
                  'health_condition')

        widgets = {
            'admission_no': TextInput(attrs={'placeholder': 'Admission No'}),
            'admission_date': DatePickerInput(),
        }
Ejemplo n.º 17
0
 class Meta:
     model = IngresosVarios
     fields = '__all__'
     exclude = [
         'declaraciones', 'domicilios', 'observaciones',
         'cat_tipos_ingresos_varios', 'info_personal_var'
     ]
     widgets = {
         'es_transaccion':
         DatePickerInput(
             options={
                 "format": 'YYYY-MM-DD',
                 "locale": "es",
                 "ignoreReadonly": True,
                 "maxDate": 'now'
             })
     }
Ejemplo n.º 18
0
class MakeUpcomingBatchForm(forms.ModelForm):
    plan_start_day = forms.DateField(
        input_formats=['%d %b %Y'],
        widget=DatePickerInput(
            attrs={'readonly':'readonly'},
            options={
                "ignoreReadonly": True,
                "format":"DD MMM YYYY",
                "showClose":True,
                "showClear":True,
                "showTodayButton":True,
            }
        )
    )
    class Meta:
        model = Batch
        fields = ['batch_product', 'schedule_pattern', 'plan_start_day']
Ejemplo n.º 19
0
 class Meta(UserCreationForm.Meta):
     model = CustomUser
     now = datetime.datetime.now()
     fields = ('username', 'email', 'gender', 'security_question', 'answer', 'birth_date', 'emergency_contact_name', 'emergency_contact_number',
               'blood_group','resume','address',
               )
     widgets={
         'birth_date' :DatePickerInput(
             options={
                 'maxDate':str(datetime.datetime.now()),
             }
         )
     }
     help_texts={
         'email':'Enter valid email address',
         'resume' : 'Not required'
     }
Ejemplo n.º 20
0
class CustomerForm(forms.ModelForm):
    """Form Class for Customer Model"""
    phone_number = forms.CharField(
        required=True,
        validators=[validate_phonenumber],
        widget=forms.TextInput(attrs={'placeholder': '+31 0123456789'}))
    DOB = forms.DateField(
        required=True,
        label='Date Of Birth',
        widget=DatePickerInput(options={
            "format": "YYYY-MM-DD",
            'maxDate': str(datetime.date.today())
        }))

    class Meta:
        model = Customer
        fields = "__all__"
Ejemplo n.º 21
0
    class Meta:
        model = Article
        fields = ['section', 'header', 'content', 'publication_date', 'position']

        widgets = {
            'section': Select(attrs={
                'class': 'form-control',
            }),
            'publication_date': DatePickerInput(),
            'header': TextInput(attrs={
                'class': 'form-control',
            }),
            'content': CKEditorUploadingWidget(config_name='default'),
            'position': NumberInput(attrs={
                'class': 'form-control',
            })
        }
Ejemplo n.º 22
0
 class Meta:
     model = DeudasOtros
     fields = '__all__'
     exclude = [
         'declaraciones', 'domicilios', 'observaciones',
         'cat_tipos_pasivos', 'acreedor_infopersonalvar'
     ]
     widgets = {
         'fecha_generacion':
         DatePickerInput(
             options={
                 "format": 'YYYY-MM-DD',
                 "locale": "es",
                 "ignoreReadonly": True,
                 "maxDate": 'now'
             })
     }
class PackagingRunForm(forms.ModelForm):
    date = forms.DateField(required=False,
                           input_formats=['%d %b %Y'],
                           widget=DatePickerInput(
                               options={
                                   "format": "DD MMM YYYY",
                                   "showClose": True,
                                   "showClear": True,
                                   "showTodayButton": True,
                               }))

    class Meta:
        model = PackagingRun
        fields = [
            'date', 'filled_halfs', 'filled_sixtels', 'skids_kegs',
            'filled_cases', 'skids_cases'
        ]
Ejemplo n.º 24
0
class ContactForm(forms.Form):
    subject = forms.CharField(max_length=100,
                              widget=forms.TextInput(attrs={
                                  'class': 'form-control',
                              }))
    message = forms.CharField(widget=forms.Textarea(attrs={
        'class': 'form-control',
    }))
    sender = forms.EmailField(widget=forms.EmailInput(attrs={
        'class': 'form-control',
    }))
    cc_myself = forms.BooleanField(required=False,
                                   widget=forms.CheckboxInput())
    schedule = forms.DateField(widget=DatePickerInput(options={
        "format": "mm/dd/yyyy",
        "autoclose": True
    }))
Ejemplo n.º 25
0
 def get_form(self, form_class=None):
     form = super(CreateFacture, self).get_form(form_class)
     form.helper = FormHelper()
     form.fields['date'] = forms.DateTimeField(widget=DatePickerInput(
         format='%m/%d/%Y'))
     form.fields['client'] = forms.ModelChoiceField(queryset=Client.objects,
                                                    initial=0)
     form.helper.add_input(
         Submit('submit', 'Creer', css_class='btn btn-success'))
     form.helper.add_input(
         Button('cancel',
                'Annuler',
                css_class='btn-primary',
                onclick="window.location.href = '{}';".format(
                    reverse('facture_list'))))
     self.success_url = reverse('facture_list')
     return form
Ejemplo n.º 26
0
class FindMyShiftForm(forms.Form):

    #word = forms.CharField(max_length=100)
    word = forms.DateField(widget=DatePickerInput(format='%Y-%m-%d', attrs={'width': '20px'}))

    def search(self):
        result = {}
        word = self.cleaned_data['word']
        #logging.basicConfig()
        #logging.getLogger().setLevel(logging.DEBUG)
        #requests_log = logging.getLogger("requests.packages.urllib3")
        #requests_log.setLevel(logging.DEBUG)
        #requests_log.propagate = True

        #endpoint ='https://www.findmyshift.com/api/1.1/reports/shifts -d apiKey={apiKey} -d teamId={teamId} -d from={fromdt} -d to={todt}'
        #url = endpoint.format(apiKey=settings.FINDMYSHIFT_APP_ID, teamId=settings.FIND_MY_SHIFT_TEAM_ID, fromdt=word, todt=word)
        #print(url)


        endpoint = 'https://www.findmyshift.com/api/1.1/reports/shifts'
        headers = {'apiKey': settings.FINDMYSHIFT_APP_ID, 'teamId': settings.FIND_MY_SHIFT_TEAM_ID, 'from':word,'to':word }
        response = requests.get(endpoint,headers)
        #print(response.request.headers)
        #print(response.status_code)



        if response.status_code == 200:  # SUCCESS
            result = response.json()
            if  not result:
                result = [1]
                result[0]={'firstName':'No data found.'}


            #print(result)
            #print(json.dumps(result, indent=4, sort_keys=True))
            #result['success'] = True

        else:
            result = [1]
            if response.status_code == 404:  # NOT FOUND
                result[0]={'firstName':'Error : No data found.'}
            else:
                result[0]= 'The FindMyShift API is not available at the moment. Please try again later.'
        return result
Ejemplo n.º 27
0
class CalendarForm(forms.Form):
    initial_dt = ((i.tag, i.title) for i in Subject.objects.all())
    sub_list = []
    for i in Subject.objects.all():
        sub_list.append(i.tag)
    choices_technician = ((i.id, i.name) for i in Technician.objects.all())
    tech_list = []
    for i in Technician.objects.all():
        tech_list.append(i.id)
    #prin()
    date = forms.DateField(input_formats=['%d/%m/%Y'],
                           required=False,
                           widget=DatePickerInput(format='%d/%m/%Y', ))
    subject = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple,
        choices=initial_dt,
        #selected = True,
        initial=sub_list,
        required=False,
    )
    technician = forms.MultipleChoiceField(
        widget=forms.CheckboxSelectMultiple,
        choices=choices_technician,
        #selected = True,
        initial=tech_list,
        required=False,
    )

    def clean(self):
        cleaned_data = super(CalendarForm, self).clean()
        date = cleaned_data.get('date')
        subject = str(cleaned_data.get('subject'))
        technician = str(cleaned_data.get('technician'))
        current = datetime.date.today()
        if not date:
            raise forms.ValidationError("You have to write a date!")
        elif datetime.date(date.year, date.month,
                           date.day) < datetime.date.today():
            raise forms.ValidationError("The date cannot be in the past!")
        elif subject == "[]":
            raise forms.ValidationError(
                "You cannot leave the subject filter empty!")
        elif technician == "[]":
            raise forms.ValidationError(
                "You cannot leave the technician filter empty!")
Ejemplo n.º 28
0
class MultiSessionHistoricalForm(forms.Form):
    date = forms.DateField(widget=DatePickerInput())
    start_time = forms.TimeField(widget=TimePickerInput(options={
        # 'inline': True,
        'format': 'LT',
    }))

    end_time = forms.TimeField(widget=TimePickerInput(options={
        # 'inline': True,
        'format': 'LT',
    }))

    parent = forms.CharField(label='Pick-up person')

    students = forms.ModelMultipleChoiceField(queryset=Student.objects.all())

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

        self.fields["students"].queryset = Student.objects.all()
        self.fields["start_time"].initial = "16:00:00"
        self.fields["end_time"].initial = "18:00:00"

    def save(self, commit=True):
        # print(self.cleaned_data)
        rightnow = datetime.today()
        # formtime = self['time']
        # print(formtime)
        start = timezone.make_aware(
            datetime.combine(self.cleaned_data['date'],
                             self.cleaned_data['start_time']))
        end = timezone.make_aware(
            datetime.combine(self.cleaned_data['date'],
                             self.cleaned_data['end_time']))
        # end = self.cleaned_data['date']
        #timezone.make_aware(
        #    start.replace(minute=self.cleaned_data['start_time'].minute, hour=self.cleaned_data['start_time'].hour, second=0, microsecond=0))
        # timezone.make_aware(end.replace(minute=self.cleaned_data['end_time'].minute, hour=self.cleaned_data['end_time'].hour, second=0, microsecond=0))
        # print(rightnow)
        for s in self.cleaned_data['students']:
            ses = StudentSession.objects.create(start=start,
                                                end=end,
                                                student=s)
            s.save()
        return self
Ejemplo n.º 29
0
class CadastroForm(forms.ModelForm):
    nome = forms.CharField(max_length=100)
    sobrenome = forms.CharField(max_length=100)
    idade = forms.IntegerField(min_value=0, widget=forms.NumberInput)
    data_de_nascimento = forms.DateField(widget=DatePickerInput(
        format='%d/%m/%Y'))
    email = forms.EmailField()
    apelido = forms.CharField(max_length=100, required=False)
    obs = forms.CharField(widget=forms.Textarea,
                          max_length=400,
                          required=False)

    # An inline class to provide additional information on the form.
    class Meta:
        # Provide an association between the ModelForm and a model
        model = Pessoa
        fields = ('nome', 'sobrenome', 'idade', 'data_de_nascimento', 'email',
                  'apelido', 'obs')
Ejemplo n.º 30
0
class DepartmentInfoForm(forms.Form):
    title = forms.CharField(label="Title", max_length=30)
    description = forms.CharField(label="About", widget=forms.Textarea(), required=False)
    date = forms.DateField(
        widget=DatePickerInput(format='%m/%d/%Y'), label='Date', required=False)

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.helper = FormHelper()
        self.helper.form_class = 'form-group'
        self.helper.form_method = 'post'
        self.helper.form_tag = False
        self.helper.layout = Layout(
            Fieldset('General Info',
                     'title',
                     'date',
                     'description')
        )