コード例 #1
0
class NewOrderForm(djangoforms.ModelForm):
    site = djangoforms.ModelChoiceField(models.Site, widget=forms.HiddenInput)
    order_sheet = djangoforms.ModelChoiceField(
        models.OrderSheet, query=models.OrderSheet.all().order('name'))

    class Meta:
        model = models.Order
        fields = ['site', 'order_sheet', 'program']
コード例 #2
0
 def __init__(self, *args, **kwargs):
     staff = kwargs.get('staff')
     super(StaffTimeForm, self).__init__(*args, **kwargs)
     self.fields['position'] = djangoforms.ModelChoiceField(
         models.StaffPosition,
         query=models.StaffPosition.all().order('position_name'),
         label="Position",
         help_text="or add a new position using the form on the right")
コード例 #3
0
 def __init__(self, *args, **kwargs):
   staff = kwargs.get('staff')
   super(VendorReceiptForm, self).__init__(*args, **kwargs)
   if staff:
     self.fields['supplier'] = djangoforms.ModelChoiceField(
         models.Supplier,
         query=models.Supplier.all().filter('active =', 'Active').filter(
             'visibility IN', ['Everyone', 'Staff Only']).order('name'),
         label="Vendor",
         help_text="or add a new vendor using the form on the right")
   else:
     self.fields['supplier'] = djangoforms.ModelChoiceField(
         models.Supplier,
         query=models.Supplier.all().filter('active =', 'Active').filter(
             'visibility IN', ['Everyone', ]).order('name'),
         label="Vendor",
         help_text="or add a new vendor using the form on the right")
コード例 #4
0
    def __init__(self, *args, **kwargs):
        staff = kwargs.pop('staff')
        super(SiteExpenseForm, self).__init__(*args, **kwargs)
        if staff:
            self.fields['site'] = djangoforms.ModelChoiceField(
                models.NewSite,
                models.NewSite.all().order('number'))
            entity = kwargs.get('instance')
            if entity:
                site = entity.site
                captains = [(sc.captain.key(), sc.captain.name)
                            for sc in site.sitecaptain_set]
                captains.sort()
                staff_captain = common.GetStaffCaptain()
                captains.append((staff_captain.key(), staff_captain.name))
                self.fields['captain'] = djangoforms.ModelChoiceField(
                    models.SiteCaptain, choices=captains)

        else:
            self.fields['site'] = djangoforms.ModelChoiceField(
                models.NewSite, widget=forms.HiddenInput)
            self.fields['captain'] = djangoforms.ModelChoiceField(
                models.Captain, widget=forms.HiddenInput)
コード例 #5
0
class NewSiteForm(djangoforms.ModelForm):
    number = forms.CharField(
        max_length=10, help_text='"10001DAL" reads: 2010, #001, Daly City')
    street_number = forms.CharField(
        max_length=100, help_text=models.NewSite.street_number.help_text)
    city_state_zip = forms.CharField(
        max_length=100, help_text=models.NewSite.city_state_zip.help_text)
    jurisdiction_choice = djangoforms.ModelChoiceField(
        models.Jurisdiction,
        query=models.Jurisdiction.all().order('name'),
        label='Jurisdiction')
    program_choices = [''] + common.PROGRAMS
    program = forms.ChoiceField(choices=zip(program_choices, program_choices))

    class Meta:
        model = models.NewSite
        exclude = ['search_prefixes', 'jurisdiction', 'year']
コード例 #6
0
def SortedSiteChoiceField():
    return djangoforms.ModelChoiceField(models.NewSite,
                                        models.NewSite.all().order('number'))
コード例 #7
0
def SortedCaptainChoiceField():
    return djangoforms.ModelChoiceField(models.Captain,
                                        models.Captain.all().order('name'))
コード例 #8
0
    def __init__(self, params=None):
        """Defines the fields and methods required for the base View class
    to provide the user with list, public, create, edit and delete views.

    Params:
      params: a dict with params for this View
    """

        rights = access.GSoCChecker(params)
        rights['create'] = [('checkIsHostForProgramInScope', program_logic)]
        rights['edit'] = [('checkIsHostForProgramInScope', program_logic)]
        rights['delete'] = ['checkIsDeveloper']
        rights['show'] = [('checkIsHostForProgramInScope', program_logic)]
        rights['list'] = ['checkIsDeveloper']
        rights['records'] = [('checkIsHostForProgramInScope', program_logic)]
        rights['edit_record'] = [('checkIsHostForProgramInScope',
                                  program_logic)]

        new_params = {}
        new_params['logic'] = survey_group_logic
        new_params['rights'] = rights
        new_params['name'] = "Grading Survey Group"
        new_params['url_name'] = 'gsoc/grading_survey_group'
        new_params['module_package'] = 'soc.modules.gsoc.views.models'
        new_params['sidebar_grouping'] = "Surveys"

        new_params['scope_view'] = program_view
        new_params['scope_redirect'] = redirects.getCreateRedirect

        new_params['no_admin'] = True
        new_params['no_create_with_key_fields'] = True

        new_params['create_extra_dynaproperties'] = {
            'grading_survey':
            djangoforms.ModelChoiceField(GradingProjectSurvey, required=True),
            'student_survey':
            djangoforms.ModelChoiceField(ProjectSurvey, required=False),
        }

        new_params['extra_dynaexclude'] = [
            'link_id', 'scope', 'scope_path', 'last_update_started',
            'last_update_complete'
        ]

        new_params['edit_extra_dynaproperties'] = {
            'link_id': forms.CharField(widget=forms.HiddenInput),
        }

        patterns = [
            (r'^%(url_name)s/(?P<access_type>records)/%(key_fields)s$',
             '%(module_package)s.%(module_name)s.view_records',
             'Overview of GradingRecords'),
            (r'^%(url_name)s/(?P<access_type>edit_record)/%(key_fields)s$',
             '%(module_package)s.%(module_name)s.edit_record',
             'Edit a GradingRecord'),
        ]

        new_params['extra_django_patterns'] = patterns

        new_params[
            'view_records_template'] = 'soc/grading_survey_group/records.html'
        new_params[
            'records_heading_template'] = 'soc/grading_record/list/heading.html'
        new_params['records_row_template'] = 'soc/grading_record/list/row.html'
        new_params['record_edit_template'] = 'soc/grading_record/edit.html'

        # create the form that will be used to edit a GradingRecord
        record_logic = survey_group_logic.getRecordLogic()

        record_edit_form = dynaform.newDynaForm(
            dynabase=soc.views.helper.forms.BaseForm,
            dynamodel=record_logic.getModel(),
            dynaexclude=[
                'grading_survey_group', 'mentor_record', 'student_record',
                'project'
            ],
        )

        new_params['record_edit_form'] = record_edit_form

        new_params['public_field_keys'] = [
            "name", "last_update_started", "last_update_completed"
        ]
        new_params['public_field_names'] = [
            "Name", "Last update started", "Last update completed"
        ]

        new_params['records_field_extra'] = lambda entity: {
            "project_title":
            entity.project.title,
            "student_name":
            "%s (%s)" %
            (entity.project.student.name, entity.project.student.link_id),
            "organization":
            entity.project.name,
            "mentor_name":
            "%s (%s)" %
            (entity.project.mentor.name, entity.project.mentor.link_id),
            "final_grade":
            entity.grade_decision.capitalize(),
            "mentor_grade": ("Pass" if entity.mentor_record.grade else "Fail")
            if entity.mentor_record else "Not Available",
            "student_eval":
            "Yes" if entity.student_record else "Not Available",
        }
        new_params['records_field_keys'] = [
            "project_title", "student_name", "organization", "mentor_name",
            "final_grade", "mentor_grade", "student_eval", "locked"
        ]
        new_params['records_field_names'] = [
            "Project Name", "Student (link id)", "Organization",
            "Mentor (link id)", "Final Grade", "Mentor Grade", "Student Eval",
            "Locked"
        ]

        params = dicts.merge(params, new_params)

        super(View, self).__init__(params=params)