Preview issue in "View Issues"

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

Moderators: Developer, Contributor

Post Reply
alphaed
Posts: 43
Joined: 07 Aug 2012, 09:24

Preview issue in "View Issues"

Post by alphaed »

Всем привет.

Подскажите, как в общем списке проблем добавить возможность предпросмотра проблемы, дабы не лазить в каждую проблему.
Или popup или expand/collaps или еще что-то.

Пролез интернет, но что-то не наткулся.
Не верю, что никто не озадачивался подобной полезной фичей.
Last edited by alphaed on 14 Aug 2012, 09:15, edited 1 time in total.
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Preview issue in "View Issues"

Post by Kirill »

Угадали - никто не озадачивался этой проблемой.
alphaed
Posts: 43
Joined: 07 Aug 2012, 09:24

Re: Preview issue in "View Issues"

Post by alphaed »

Озадачиваться то озадачивались, http://www.mantisbt.org/bugs/view.php?id=7696
Вот только готового решения нет что-то.

Прийдется ручками дописывать :-(
alphaed
Posts: 43
Joined: 07 Aug 2012, 09:24

Re: Preview issue in "View Issues"

Post by alphaed »

Ну в общем все оказалось не сложно, немного быдлокода и работает :-)
1. Добавил вывод описания в список "manage" -> "Manage Configuration" -> "Manage Configuration" -> "Manage Columns", в поле "View Issues Columns*" в конец дописал ", description"

2. В файле view_all_inc.php немного изменил функцию write_bug_rows()

Code: Select all

	function write_bug_rows( $p_rows )
	{

		global $t_columns, $t_filter;

		$t_in_stickies = ( $t_filter && ( 'on' == $t_filter['sticky_issues'] ) );

		# pre-cache custom column data
		columns_plugin_cache_issue_data( $p_rows );

		# -- Loop over bug rows --

		$t_rows = count( $p_rows );
		for( $i=0; $i < $t_rows; $i++ ) {
			$t_row = $p_rows[$i];
			$mydesc = $t_row->description;
			
			
			if( ( 0 == $t_row->sticky ) && ( 0 == $i ) ) {
				$t_in_stickies = false;
			}
			if( ( 0 == $t_row->sticky ) && $t_in_stickies ) {	# demarcate stickies, if any have been shown
?>
				<tr>
					<td class="left" colspan="<?php echo count( $t_columns ); ?>" bgcolor="#999999">&#160;</td>
				</tr>
<?php
				$t_in_stickies = false;
			}

			# choose color based on status
			$status_color = get_status_color( $t_row->status, auth_get_current_user_id(), $t_row->project_id );

			echo '<tr bgcolor="', $status_color, '" border="1" valign="top">';
			

			$t_column_value_function = 'print_column_value';
			foreach( $t_columns as $t_column ) {
				if ($t_column != "description"){
					helper_call_custom_function( $t_column_value_function, array( $t_column, $t_row ) );
				}
			}
			echo "<td><a onclick=\"setTableRowClass('h".$i."');\">show</td>";
			echo "</tr><tr id=\"h".$i."\" style=\"display:none\" ><td colspan=\"".count( $t_columns )."\">";
			echo $mydesc;
			echo '</td></tr>';
		}
	}
3. Ну и повыше, я сделал перед строками
<form name="bug_action" method="get" action="bug_actiongroup_page.php">
<?php # CSRF protection not required here - form does not result in modifications ?>

Code: Select all

<script type="text/javascript">
function setTableRowClass(currentNode){
	if(document.getElementById){
		var el = document.getElementById(currentNode);
		if(el.style.display != "table-row"){ //Помним, что table-row не работает в IE ниже 8
			el.style.display = "table-row";
		}else{
			el.style.display = "none";
		}
	}
}
</script>
Мало ли, кому пригодиться.
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Preview issue in "View Issues"

Post by Kirill »

Можете патч сделать? или файлы приложить?
alphaed
Posts: 43
Joined: 07 Aug 2012, 09:24

Re: Preview issue in "View Issues"

Post by alphaed »

Патч не смогу, а вот файлики не вопрос.

MantisBT Version 1.2.11
добавил плюсик\минусик :-)

P.S. "manage" -> "Manage Configuration" -> "Manage Configuration" -> "Manage Columns", в поле "View Issues Columns*" в конец дописать ", description"
Attachments
view_issues_expand_collaps.zip
(5.96 KiB) Downloaded 672 times
Kirill
Posts: 638
Joined: 25 Nov 2007, 08:05
Location: Kaliningrad, RF
Contact:

Re: Preview issue in "View Issues"

Post by Kirill »

Спасибо. Я поставил его на демостенд и мне не очень понравилось добавление такого плюсика в конце каждой строки.

Посидев несколько часов над изучением возможностей событий в Мантисе для плагинов понял что такое сделать не получится (не добавляя конечно новой колонки). Посидев за исходниками в поисках нужного мне события увидел, что там есть вызов кастомных функций из функционала Custom Function API (core/custom_function_api.php).
Набросал быстренько простенькую функцию я убедился, что здесь как раз и есть возможность получения результата, как на картинке, но без правки исходных кодов мантиса. Вот что у меня получилось
http://code.kraeg.ru/113
К сожалению, моих знаний web не хватило на реализацию с помощью jquery popup'а как на картинке (в задаче). Может заинтересованные смогут реализовать такое и поделятся результатом со всеми.
Post Reply