protected function AddFieldColumns(Grid $grid) { // // View column for name field // $column = new TextViewColumn('district_id_name', 'Political District Name', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for district_id field // $editor = new MultiLevelComboBoxEditor('district_id_edit', $this->CreateLinkBuilder()); $dataset0 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."state"'); $field = new StringField('abbr'); $field->SetIsNotNull(true); $dataset0->AddField($field, true); $field = new StringField('name'); $dataset0->AddField($field, false); $editor->AddLevel($dataset0, 'abbr', 'name', $this->RenderText('State'), null); $dataset1 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."district"'); $field = new IntegerField('id'); $field->SetIsNotNull(true); $dataset1->AddField($field, true); $field = new StringField('state'); $dataset1->AddField($field, false); $field = new StringField('name'); $dataset1->AddField($field, false); $field = new StringField('level_id'); $dataset1->AddField($field, false); $field = new IntegerField('election_div_id'); $dataset1->AddField($field, false); $editor->AddLevel($dataset1, 'id', 'name', $this->RenderText('Political District Name'), new ForeignKeyInfo('abbr', 'state')); $editColumn = new MultiLevelLookupEditColumn('Political District Name', 'district_id', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for district_id field // $editor = new MultiLevelComboBoxEditor('district_id_edit', $this->CreateLinkBuilder()); $dataset0 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."state"'); $field = new StringField('abbr'); $field->SetIsNotNull(true); $dataset0->AddField($field, true); $field = new StringField('name'); $dataset0->AddField($field, false); $editor->AddLevel($dataset0, 'abbr', 'name', $this->RenderText('State'), null); $dataset1 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."district"'); $field = new IntegerField('id'); $field->SetIsNotNull(true); $dataset1->AddField($field, true); $field = new StringField('state'); $dataset1->AddField($field, false); $field = new StringField('name'); $dataset1->AddField($field, false); $field = new StringField('level_id'); $dataset1->AddField($field, false); $field = new IntegerField('election_div_id'); $dataset1->AddField($field, false); $editor->AddLevel($dataset1, 'id', 'name', $this->RenderText('Political District Name'), new ForeignKeyInfo('abbr', 'state')); $editColumn = new MultiLevelLookupEditColumn('Political District Name', 'district_id', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for title field // $column = new TextViewColumn('office_id_title', 'Office Title', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for office_id field // $editor = new MultiLevelComboBoxEditor('office_id_edit', $this->CreateLinkBuilder()); $dataset0 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."state"'); $field = new StringField('abbr'); $field->SetIsNotNull(true); $dataset0->AddField($field, true); $field = new StringField('name'); $dataset0->AddField($field, false); $editor->AddLevel($dataset0, 'abbr', 'name', $this->RenderText('State'), null); $selectQuery = 'SELECT op.id office_id, o.title office_title, ed.id election_div_id, ed.name ed_name, ed.phys_addr_state state, concat(d.name, \' - \', o.title) officeTitle FROM office_position op JOIN district d ON op.district_id = d.id JOIN election_div ed ON d.election_div_id = ed.id JOIN office o ON op.office_id = o.id'; $insertQuery = array(); $updateQuery = array(); $deleteQuery = array(); $dataset1 = new QueryDataset(new PgConnectionFactory(), GetConnectionOptions(), $selectQuery, $insertQuery, $updateQuery, $deleteQuery, 'office_title_by_election_div'); $field = new IntegerField('office_id'); $dataset1->AddField($field, false); $field = new StringField('office_title'); $dataset1->AddField($field, false); $field = new IntegerField('election_div_id'); $dataset1->AddField($field, true); $field = new StringField('ed_name'); $dataset1->AddField($field, false); $field = new StringField('state'); $dataset1->AddField($field, false); $field = new StringField('officetitle'); $dataset1->AddField($field, false); $editor->AddLevel($dataset1, 'election_div_id', 'election_div_name', $this->RenderText('Election Division'), new ForeignKeyInfo('abbr', 'election_div_state')); $dataset2 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."office"'); $field = new IntegerField('id'); $field->SetIsNotNull(true); $dataset2->AddField($field, true); $field = new StringField('title'); $field->SetIsNotNull(true); $dataset2->AddField($field, false); $field = new IntegerField('num_positions'); $dataset2->AddField($field, false); $field = new StringField('responsibilities'); $dataset2->AddField($field, false); $field = new IntegerField('term_length_months'); $dataset2->AddField($field, false); $field = new StringField('filing_fee'); $dataset2->AddField($field, false); $field = new BooleanField('partisan'); $dataset2->AddField($field, false); $field = new StringField('age_requirements'); $dataset2->AddField($field, false); $field = new StringField('res_requirements'); $dataset2->AddField($field, false); $field = new StringField('prof_requirements'); $dataset2->AddField($field, false); $field = new IntegerField('salary'); $dataset2->AddField($field, false); $field = new StringField('notes'); $dataset2->AddField($field, false); $field = new IntegerField('office_rank'); $dataset2->AddField($field, false); $dataset2->SetOrderBy('title', GetOrderTypeAsSQL(otAscending)); $editor->AddLevel($dataset2, 'id', 'title', $this->RenderText('Office Title'), new ForeignKeyInfo('election_div_id', 'election_div_id')); $editColumn = new MultiLevelLookupEditColumn('Office Title', 'office_id', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for office_id field // $editor = new MultiLevelComboBoxEditor('office_id_edit', $this->CreateLinkBuilder()); $dataset0 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."state"'); $field = new StringField('abbr'); $field->SetIsNotNull(true); $dataset0->AddField($field, true); $field = new StringField('name'); $dataset0->AddField($field, false); $editor->AddLevel($dataset0, 'abbr', 'name', $this->RenderText('State'), null); $selectQuery = 'SELECT op.id office_id, o.title office_title, ed.id election_div_id, ed.name ed_name, ed.phys_addr_state state, concat(d.name, \' - \', o.title) officeTitle FROM office_position op JOIN district d ON op.district_id = d.id JOIN election_div ed ON d.election_div_id = ed.id JOIN office o ON op.office_id = o.id'; $insertQuery = array(); $updateQuery = array(); $deleteQuery = array(); $dataset1 = new QueryDataset(new PgConnectionFactory(), GetConnectionOptions(), $selectQuery, $insertQuery, $updateQuery, $deleteQuery, 'office_title_by_election_div'); $field = new IntegerField('office_id'); $dataset1->AddField($field, false); $field = new StringField('office_title'); $dataset1->AddField($field, false); $field = new IntegerField('election_div_id'); $dataset1->AddField($field, true); $field = new StringField('ed_name'); $dataset1->AddField($field, false); $field = new StringField('state'); $dataset1->AddField($field, false); $field = new StringField('officetitle'); $dataset1->AddField($field, false); $editor->AddLevel($dataset1, 'election_div_id', 'election_div_name', $this->RenderText('Election Division'), new ForeignKeyInfo('abbr', 'election_div_state')); $dataset2 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."office"'); $field = new IntegerField('id'); $field->SetIsNotNull(true); $dataset2->AddField($field, true); $field = new StringField('title'); $field->SetIsNotNull(true); $dataset2->AddField($field, false); $field = new IntegerField('num_positions'); $dataset2->AddField($field, false); $field = new StringField('responsibilities'); $dataset2->AddField($field, false); $field = new IntegerField('term_length_months'); $dataset2->AddField($field, false); $field = new StringField('filing_fee'); $dataset2->AddField($field, false); $field = new BooleanField('partisan'); $dataset2->AddField($field, false); $field = new StringField('age_requirements'); $dataset2->AddField($field, false); $field = new StringField('res_requirements'); $dataset2->AddField($field, false); $field = new StringField('prof_requirements'); $dataset2->AddField($field, false); $field = new IntegerField('salary'); $dataset2->AddField($field, false); $field = new StringField('notes'); $dataset2->AddField($field, false); $field = new IntegerField('office_rank'); $dataset2->AddField($field, false); $dataset2->SetOrderBy('title', GetOrderTypeAsSQL(otAscending)); $editor->AddLevel($dataset2, 'id', 'title', $this->RenderText('Office Title'), new ForeignKeyInfo('election_div_id', 'election_div_id')); $editColumn = new MultiLevelLookupEditColumn('Office Title', 'office_id', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for fullname field // $column = new TextViewColumn('office_holder_id_fullname', 'Office Holder Id', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for office_holder_id field // $editor = new MultiLevelComboBoxEditor('office_holder_id_edit', $this->CreateLinkBuilder()); $dataset0 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."state"'); $field = new StringField('abbr'); $field->SetIsNotNull(true); $dataset0->AddField($field, true); $field = new StringField('name'); $dataset0->AddField($field, false); $editor->AddLevel($dataset0, 'abbr', 'name', $this->RenderText('State'), null); $selectQuery = 'SELECT oh.id, oh.state, concat(oh.last_name, \', \', oh.first_name, \' \', oh.middle_name) AS fullName FROM office_holder oh ORDER BY oh.last_name, oh.first_name'; $insertQuery = array(); $updateQuery = array(); $deleteQuery = array(); $dataset1 = new QueryDataset(new PgConnectionFactory(), GetConnectionOptions(), $selectQuery, $insertQuery, $updateQuery, $deleteQuery, 'officeHolderIDs'); $field = new IntegerField('id'); $dataset1->AddField($field, false); $field = new StringField('state'); $dataset1->AddField($field, false); $field = new StringField('fullname'); $dataset1->AddField($field, false); $dataset1->SetOrderBy('fullname', GetOrderTypeAsSQL(otAscending)); $editor->AddLevel($dataset1, 'id', 'fullname', $this->RenderText('Office Holder Id'), new ForeignKeyInfo('abbr', 'state')); $editColumn = new MultiLevelLookupEditColumn('Office Holder Id', 'office_holder_id', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for office_holder_id field // $editor = new MultiLevelComboBoxEditor('office_holder_id_edit', $this->CreateLinkBuilder()); $dataset0 = new TableDataset(new PgConnectionFactory(), GetConnectionOptions(), '"public"."state"'); $field = new StringField('abbr'); $field->SetIsNotNull(true); $dataset0->AddField($field, true); $field = new StringField('name'); $dataset0->AddField($field, false); $editor->AddLevel($dataset0, 'abbr', 'name', $this->RenderText('State'), null); $selectQuery = 'SELECT oh.id, oh.state, concat(oh.last_name, \', \', oh.first_name, \' \', oh.middle_name) AS fullName FROM office_holder oh ORDER BY oh.last_name, oh.first_name'; $insertQuery = array(); $updateQuery = array(); $deleteQuery = array(); $dataset1 = new QueryDataset(new PgConnectionFactory(), GetConnectionOptions(), $selectQuery, $insertQuery, $updateQuery, $deleteQuery, 'officeHolderIDs'); $field = new IntegerField('id'); $dataset1->AddField($field, false); $field = new StringField('state'); $dataset1->AddField($field, false); $field = new StringField('fullname'); $dataset1->AddField($field, false); $dataset1->SetOrderBy('fullname', GetOrderTypeAsSQL(otAscending)); $editor->AddLevel($dataset1, 'id', 'fullname', $this->RenderText('Office Holder Id'), new ForeignKeyInfo('abbr', 'state')); $editColumn = new MultiLevelLookupEditColumn('Office Holder Id', 'office_holder_id', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for position_name field // $column = new TextViewColumn('position_name', 'Position Name', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for position_name field // $editor = new TextEdit('position_name_edit'); $editor->SetSize(25); $editor->SetMaxLength(25); $editColumn = new CustomEditColumn('Position Name', 'position_name', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for position_name field // $editor = new TextEdit('position_name_edit'); $editor->SetSize(25); $editor->SetMaxLength(25); $editColumn = new CustomEditColumn('Position Name', 'position_name', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('Leave blank if only one position for this office')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for term_start field // $column = new DateTimeViewColumn('term_start', 'Term Start', $this->dataset); $column->SetDateTimeFormat('Y-m-d'); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for term_start field // $editor = new DateTimeEdit('term_start_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Term Start', 'term_start', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for term_start field // $editor = new DateTimeEdit('term_start_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Term Start', 'term_start', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for term_end field // $column = new DateTimeViewColumn('term_end', 'Term End', $this->dataset); $column->SetDateTimeFormat('Y-m-d'); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for term_end field // $editor = new DateTimeEdit('term_end_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Term End', 'term_end', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for term_end field // $editor = new DateTimeEdit('term_end_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Term End', 'term_end', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for filing_deadline field // $column = new DateTimeViewColumn('filing_deadline', 'Filing Deadline', $this->dataset); $column->SetDateTimeFormat('Y-m-d'); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for filing_deadline field // $editor = new DateTimeEdit('filing_deadline_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Filing Deadline', 'filing_deadline', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for filing_deadline field // $editor = new DateTimeEdit('filing_deadline_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Filing Deadline', 'filing_deadline', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for next_election field // $column = new DateTimeViewColumn('next_election', 'Next Election', $this->dataset); $column->SetDateTimeFormat('Y-m-d'); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for next_election field // $editor = new DateTimeEdit('next_election_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Next Election', 'next_election', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for next_election field // $editor = new DateTimeEdit('next_election_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Next Election', 'next_election', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for notes field // $column = new TextViewColumn('notes', 'Notes', $this->dataset); $column->SetOrderable(true); $column->SetMaxLength(75); $column->SetFullTextWindowHandlerName('public_office_positionGrid_notes_handler_list'); /* <inline edit column> */ // // Edit column for notes field // $editor = new TextAreaEdit('notes_edit', 50, 8); $editColumn = new CustomEditColumn('Notes', 'notes', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for notes field // $editor = new TextAreaEdit('notes_edit', 50, 8); $editColumn = new CustomEditColumn('Notes', 'notes', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for office_rank field // $column = new TextViewColumn('office_rank', 'Office Rank', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for office_rank field // $editor = new TextEdit('office_rank_edit'); $editColumn = new CustomEditColumn('Office Rank', 'office_rank', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for office_rank field // $editor = new TextEdit('office_rank_edit'); $editColumn = new CustomEditColumn('Office Rank', 'office_rank', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('For sorting purposes, lower number = higher rank')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); }
protected function AddFieldColumns(Grid $grid) { // // View column for name field // $column = new TextViewColumn('name', 'Name', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for name field // $editor = new TextEdit('name_edit'); $editColumn = new CustomEditColumn('Name', 'name', $editor, $this->dataset); $editColumn->setVisible(false); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for name field // $editor = new TextEdit('name_edit'); $editColumn = new CustomEditColumn('Name', 'name', $editor, $this->dataset); $editColumn->setVisible(false); $editColumn->SetInsertDefaultValue($this->RenderText('%CURRENT_USER_NAME%')); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for date field // $column = new DateTimeViewColumn('date', 'Date', $this->dataset); $column->SetDateTimeFormat('Y-m-d'); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for date field // $editor = new DateTimeEdit('date_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Date', 'date', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for date field // $editor = new DateTimeEdit('date_edit', false, 'Y-m-d H:i:s', GetFirstDayOfWeek()); $editColumn = new CustomEditColumn('Date', 'date', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for Task field // $column = new TextViewColumn('task_id_Task', 'Project & Task', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for task_id field // $editor = new ComboBox('task_id_edit', $this->GetLocalizerCaptions()->GetMessageString('PleaseSelect')); $lookupDataset = new TableDataset(new MyConnectionFactory(), GetConnectionOptions(), '`taskview`'); $field = new IntegerField('task_id'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new IntegerField('project_id'); $lookupDataset->AddField($field, false); $field = new StringField('assigned_to'); $lookupDataset->AddField($field, false); $field = new DateField('date_start'); $lookupDataset->AddField($field, false); $field = new DateField('date_end'); $lookupDataset->AddField($field, false); $field = new StringField('task_name'); $lookupDataset->AddField($field, false); $field = new StringField('notes'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new IntegerField('hrs'); $lookupDataset->AddField($field, false); $field = new StringField('wo'); $lookupDataset->AddField($field, false); $field = new IntegerField('staff_id'); $lookupDataset->AddField($field, false); $field = new StringField('Task'); $lookupDataset->AddField($field, false); $field = new StringField('Assigned'); $lookupDataset->AddField($field, false); $lookupDataset->SetOrderBy('Task', GetOrderTypeAsSQL(otAscending)); $lookupDataset->AddCustomCondition(EnvVariablesUtils::EvaluateVariableTemplate($this->GetColumnVariableContainer(), 'assigned_to=%CURRENT_USER_ID%')); $editColumn = new LookUpEditColumn('Project & Task', 'task_id', $editor, $this->dataset, 'task_id', 'Task', $lookupDataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for task_id field // $editor = new ComboBox('task_id_edit', $this->GetLocalizerCaptions()->GetMessageString('PleaseSelect')); $lookupDataset = new TableDataset(new MyConnectionFactory(), GetConnectionOptions(), '`taskview`'); $field = new IntegerField('task_id'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new IntegerField('project_id'); $lookupDataset->AddField($field, false); $field = new StringField('assigned_to'); $lookupDataset->AddField($field, false); $field = new DateField('date_start'); $lookupDataset->AddField($field, false); $field = new DateField('date_end'); $lookupDataset->AddField($field, false); $field = new StringField('task_name'); $lookupDataset->AddField($field, false); $field = new StringField('notes'); $field->SetIsNotNull(true); $lookupDataset->AddField($field, false); $field = new IntegerField('hrs'); $lookupDataset->AddField($field, false); $field = new StringField('wo'); $lookupDataset->AddField($field, false); $field = new IntegerField('staff_id'); $lookupDataset->AddField($field, false); $field = new StringField('Task'); $lookupDataset->AddField($field, false); $field = new StringField('Assigned'); $lookupDataset->AddField($field, false); $lookupDataset->SetOrderBy('Task', GetOrderTypeAsSQL(otAscending)); $lookupDataset->AddCustomCondition(EnvVariablesUtils::EvaluateVariableTemplate($this->GetColumnVariableContainer(), 'assigned_to=%CURRENT_USER_ID%')); $editColumn = new LookUpEditColumn('Project & Task', 'task_id', $editor, $this->dataset, 'task_id', 'Task', $lookupDataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for hours field // $column = new TextViewColumn('hours', 'Hours', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for hours field // $editor = new TextEdit('hours_edit'); $editColumn = new CustomEditColumn('Hours', 'hours', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for hours field // $editor = new TextEdit('hours_edit'); $editColumn = new CustomEditColumn('Hours', 'hours', $editor, $this->dataset); $validator = new RequiredValidator(StringUtils::Format($this->GetLocalizerCaptions()->GetMessageString('RequiredValidationMessage'), $this->RenderText($editColumn->GetCaption()))); $editor->GetValidatorCollection()->AddValidator($validator); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); // // View column for notes field // $column = new TextViewColumn('notes', 'Notes', $this->dataset); $column->SetOrderable(true); /* <inline edit column> */ // // Edit column for notes field // $editor = new TextEdit('notes_edit'); $editColumn = new CustomEditColumn('Notes', 'notes', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetEditOperationColumn($editColumn); /* </inline edit column> */ /* <inline insert column> */ // // Edit column for notes field // $editor = new TextEdit('notes_edit'); $editColumn = new CustomEditColumn('Notes', 'notes', $editor, $this->dataset); $editColumn->SetAllowSetToNull(true); $this->ApplyCommonColumnEditProperties($editColumn); $column->SetInsertOperationColumn($editColumn); /* </inline insert column> */ $column->SetDescription($this->RenderText('')); $column->SetFixedWidth(null); $grid->AddViewColumn($column); }