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']
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")
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")
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)
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']
def SortedSiteChoiceField(): return djangoforms.ModelChoiceField(models.NewSite, models.NewSite.all().order('number'))
def SortedCaptainChoiceField(): return djangoforms.ModelChoiceField(models.Captain, models.Captain.all().order('name'))
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)