/**
     *
     * @param EE_Question_Group $question_group
     * @param EE_Registration   $registration
     * @return \EE_Form_Section_Proper
     * @throws \EE_Error
     */
    public function build_subform_from_question_group($question_group, $registration)
    {
        if (!$question_group instanceof EE_Question_Group || !$registration instanceof EE_Registration) {
            throw new EE_Error(__('A valid question group and registration must be passed to EE_Registration_Custom_Question_Form', 'event_espresso'));
        }
        $parts_of_subsection = array('title' => new EE_Form_Section_HTML(EEH_HTML::h5($question_group->name(), $question_group->identifier(), 'espresso-question-group-title-h5 section-title')));
        foreach ($question_group->questions(array(array('QST_system' => ''))) as $question) {
            $parts_of_subsection[$question->ID()] = $question->generate_form_input($registration);
        }
        $parts_of_subsection['edit_link'] = new EE_Form_Section_HTML('<tr><th/><td class="reg-admin-edit-attendee-question-td"><a class="reg-admin-edit-attendee-question-lnk" href="#" title="' . esc_attr__('click to edit question', 'event_espresso') . '">
					<span class="reg-admin-edit-question-group-spn lt-grey-txt">' . __('edit the above question group', 'event_espresso') . '</span>
					<div class="dashicons dashicons-edit"></div>
				</a></td></tr>');
        return new EE_Form_Section_Proper(array('subsections' => $parts_of_subsection, 'html_class' => 'question-group-questions'));
    }
 /**
  * @access public
  * @param EE_Question_Group $question_group
  * @return 	EE_Form_Section_HTML
  */
 public function question_group_header(EE_Question_Group $question_group)
 {
     $html = '';
     // group_name
     if ($question_group->show_group_name() && $question_group->name() != '') {
         EE_Registry::instance()->load_helper('HTML');
         if ($this->checkout->admin_request) {
             $html .= EEH_HTML::br();
             $html .= EEH_HTML::h3($question_group->name(), '', 'ee-reg-form-qstn-grp-title title', 'font-size: 1.3em; padding-left:0;');
         } else {
             $html .= EEH_HTML::h4($question_group->name(), '', 'ee-reg-form-qstn-grp-title section-title');
         }
     }
     // group_desc
     if ($question_group->show_group_desc() && $question_group->desc() != '') {
         $html .= EEH_HTML::p($question_group->desc(), '', $this->checkout->admin_request ? 'ee-reg-form-qstn-grp-desc-pg' : 'ee-reg-form-qstn-grp-desc-pg small-text lt-grey-text');
     }
     return new EE_Form_Section_HTML($html);
 }
 public function column_name(EE_Question_Group $item)
 {
     $actions = array();
     //return $item->name();
     if (!defined('REG_ADMIN_URL')) {
         define('REG_ADMIN_URL', EVENTS_ADMIN_URL);
     }
     $edit_query_args = array('action' => 'edit_question_group', 'QSG_ID' => $item->ID());
     $trash_query_args = array('action' => 'trash_question_group', 'QSG_ID' => $item->ID());
     $restore_query_args = array('action' => 'restore_question_group', 'QSG_ID' => $item->ID());
     $delete_query_args = array('action' => 'delete_question_group', 'QSG_ID' => $item->ID());
     $edit_link = EE_Admin_Page::add_query_args_and_nonce($edit_query_args, EE_FORMS_ADMIN_URL);
     $trash_link = EE_Admin_Page::add_query_args_and_nonce($trash_query_args, EE_FORMS_ADMIN_URL);
     $restore_link = EE_Admin_Page::add_query_args_and_nonce($restore_query_args, EE_FORMS_ADMIN_URL);
     $delete_link = EE_Admin_Page::add_query_args_and_nonce($delete_query_args, EE_FORMS_ADMIN_URL);
     if (EE_Registry::instance()->CAP->current_user_can('ee_edit_question_group', 'espresso_registration_form_edit_question_group', $item->ID())) {
         $actions = array('edit' => '<a href="' . $edit_link . '" title="' . esc_attr__('Edit Question Group', 'event_espresso') . '">' . __('Edit', 'event_espresso') . '</a>');
     }
     if ($item->get('QSG_system') < 1 && $this->_view != 'trash' && EE_Registry::instance()->CAP->current_user_can('ee_delete_question_group', 'espresso_registration_form_trash_question_group', $item->ID())) {
         $actions['delete'] = '<a href="' . $trash_link . '" title="' . esc_attr__('Delete Question Group', 'event_espresso') . '">' . __('Trash', 'event_espresso') . '</a>';
     }
     if ($this->_view == 'trash') {
         if (EE_Registry::instance()->CAP->current_user_can('ee_delete_question_group', 'espresso_registration_form_restore_question_group', $item->ID())) {
             $actions['restore'] = '<a href="' . $restore_link . '" title="' . esc_attr__('Restore Question Group', 'event_espresso') . '">' . __('Restore', 'event_espresso') . '</a>';
         }
         if (!$item->has_questions_with_answers() && EE_Registry::instance()->CAP->current_user_can('ee_delete_question_group', 'espresso_registration_form_delete_question_group', $item->ID())) {
             $actions['delete'] = '<a href="' . $delete_link . '" title="' . esc_attr__('Delete Question Group Permanently', 'event_espresso') . '">' . __('Delete Permanently', 'event_espresso') . '</a>';
         }
     }
     $content = EE_Registry::instance()->CAP->current_user_can('ee_edit_question_group', 'espresso_registration_form_edit_question_group', $item->ID()) ? '<strong><a class="row-title" href="' . $edit_link . '">' . $item->name() . '</a></strong>' : $item->name();
     $content .= $this->row_actions($actions);
     return $content;
 }