Как добавить поле ETA в форму создания бага?

MantisBT forum for users who prefer to ask and answer questions in Russian.

Moderators: Developer, Contributor

Post Reply
Stinger
Posts: 7
Joined: 19 Mar 2010, 11:28

Как добавить поле ETA в форму создания бага?

Post by Stinger »

Добавил в $g_bug_report_page_fields поля 'projection' и 'eta' при создании бага они не появляются, хотя с другими полями работает вроде.
Как их туда добавить?
И как сделать target_version обязательным для заполнения при создании?

версия 1.2.4, если что
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Как добавить поле ETA в форму создания бага?

Post by Kirill »

В config_inc.php необходимо добавить строки:

Code: Select all

$g_enable_eta = ON;
$g_enable_projection = ON; 
Stinger
Posts: 7
Joined: 19 Mar 2010, 11:28

Re: Как добавить поле ETA в форму создания бага?

Post by Stinger »

Kirill wrote:В config_inc.php необходимо добавить строки:

Code: Select all

$g_enable_eta = ON;
$g_enable_projection = ON;  
Включено.
Stinger
Posts: 7
Joined: 19 Mar 2010, 11:28

Re: Как добавить поле ETA в форму создания бага?

Post by Stinger »

В bug_report_page.php вообще нет ни слова про ETA :(
Печально. Видимо, только руками дописывать.

Вопрос про обязательность target_version всё ещё актуален.
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Как добавить поле ETA в форму создания бага?

Post by Kirill »

Stinger wrote:В bug_report_page.php вообще нет ни слова про ETA :(
Печально. Видимо, только руками дописывать.

Code: Select all

/**
 * An array of the fields to show on the bug report page.
 *
 * The following fields can not be included:
 * id, project, date_submitted,
 * last_updated, status, resolution,
 * tags, fixed_in_version, projection,
 * eta, reporter.
 *
 * The following fields must be included:
 * category_id, summary, description.
 *
 * To overload this setting per project, then the settings must be included in
 * the database through the generic configuration form.
 *
 * @global array $g_bug_report_page_fields
 */
 
При создании нельзя задать для них значения.
Stinger wrote:Вопрос про обязательность target_version всё ещё актуален.
Для этого надо изменить код core/bug_api.php:

Code: Select all

    /**
     * validate current bug object for database insert/update
     * triggers error on failure
     * @param bool $p_update_extended
     */
    function validate( $p_update_extended =  true) {
        # Summary cannot be blank
        if( is_blank( $this->summary ) ) {
            error_parameters( lang_get( 'summary' ) );
            trigger_error( ERROR_EMPTY_FIELD, ERROR );
        }

        if( $p_update_extended ) {
            # Description field cannot be empty
            if( is_blank( $this->description ) ) {
                error_parameters( lang_get( 'description' ) );
                trigger_error( ERROR_EMPTY_FIELD, ERROR );
            }
        }

        # Make sure a category is set
        if( 0 == $this->category_id && !config_get( 'allow_no_category' ) ) {
            error_parameters( lang_get( 'category' ) );
            trigger_error( ERROR_EMPTY_FIELD, ERROR );
        }

        # Make sure a target_version is set
        if( 0 == $this->target_version) {
            error_parameters( lang_get( 'target_version' ) );
            trigger_error( ERROR_EMPTY_FIELD, ERROR );
        }

        if( !is_blank( $this->duplicate_id ) && ( $this->duplicate_id != 0 ) && ( $this->id == $this->duplicate_id ) ) {
            trigger_error( ERROR_BUG_DUPLICATE_SELF, ERROR );
            # never returns
        }
    }
 
Stinger
Posts: 7
Joined: 19 Mar 2010, 11:28

Re: Как добавить поле ETA в форму создания бага?

Post by Stinger »

С target_version работает, спасибо.

С ETA:
Я добавил код в bug_report_page.php:

Code: Select all

<?php // ETA
	if ( $tpl_show_eta ) { ?>   
	<tr <?php echo helper_alternate_class() ?>>
		<td class="category">
			<span class="required">*</span><?php echo lang_get( 'eta' ) ?>
		</td>
		<td>
			<select <?php echo helper_get_tab_index() ?> name="eta">
				<?php print_enum_string_option_list( 'eta', $tpl_bug->eta ); ?>
			</select>
		</td>
	</tr>
<?php } ?>
Пункт в форме появился.

Где ещё нужно добавить и что, чтобы при создании бага сразу ETA указывать?
Stinger
Posts: 7
Joined: 19 Mar 2010, 11:28

Re: Как добавить поле ETA в форму создания бага?

Post by Stinger »

только

Code: Select all

		# Make sure a target_version is set
		if( is_blank( $this->target_version) ) {
			error_parameters( lang_get( 'target_version' ) );
			trigger_error( ERROR_EMPTY_FIELD, ERROR );
		}
иначе работать не будет
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Как добавить поле ETA в форму создания бага?

Post by Kirill »

Stinger wrote:только

Code: Select all

		# Make sure a target_version is set
		if( is_blank( $this->target_version) ) {
			error_parameters( lang_get( 'target_version' ) );
			trigger_error( ERROR_EMPTY_FIELD, ERROR );
		}
иначе работать не будет
Может быть, код написал на коленках и не проверял.

по ETA тоже не подскажу. Это лучше спрашивать на англоязычном форуме у разработчиков к чему привязана ETA. Я с этим функционалом не работал, поэтому не в курсе как оно работает. Может сработает, а может необходимо, чтобы объект bug должен быть создан и записан в базу.
Post Reply