#########################################################################
#
# <p>BugTrackの状態変更用プラグインです。</p>
# <p>
#   状態を変更する為のフォームを表示します。
# </p>
# <pre>
# {{bugstate 対象のページ(省略時は表示しているページ)}}
# </pre>
# <p>
#   フォームから状態を変更すると対象のページの以下の部分を
#   書き変えてもともと表示していたページを表示します。
# </p>
# <pre>
# *状態: ...
# </pre>
# 
#########################################################################
package plugin::bugtrack::BugState;
use strict;
#========================================================================
# コンストラクタ
#========================================================================
sub new {
    my $class = shift;
    my $self = {};
    return bless $self,$class;
}

#========================================================================
# パラグラフ
#========================================================================
sub paragraph {
	my $self   = shift;
	my $wiki   = shift;
	my $cgi    = $wiki->get_CGI;
	my $source = shift;
	my $page   = $cgi->param("page");

	if($source eq ""){
		$source = $page;
	}

	return make_form($wiki,$page,$source);
}
#======================================================================
# BugListでも使うので関数に
#======================================================================
sub make_form {
    my $wiki = shift;
    my $page = shift;
    my $source = shift;

    my $content = $wiki->get_page($source);
    $content =~ /\n\*状態:\s+(.*)/;
    my $state = $1;

    $page   = &Util::escapeHTML($page);
    $source = &Util::escapeHTML($source);

    my $buf = "<form action=\"".$wiki->create_url()."\" method=\"post\">\n".
              "  <input id=\"state_1\" name=\"state\" type=\"radio\" value=\"提案\"><label for=\"state_1\">提案</label>\n".
              "  <input id=\"state_2\" name=\"state\" type=\"radio\" value=\"着手\"><label for=\"state_2\">着手</label>\n".
              "  <input id=\"state_3\" name=\"state\" type=\"radio\" value=\"完了\"><label for=\"state_3\">完了</label>\n".
              "  <input id=\"state_4\" name=\"state\" type=\"radio\" value=\"リリース済\"><label for=\"state_4\">リリース済</label>\n".
              "  <input id=\"state_5\" name=\"state\" type=\"radio\" value=\"保留\"><label for=\"state_5\">保留</label>\n".
              "  <input id=\"state_6\" name=\"state\" type=\"radio\" value=\"却下\"><label for=\"state_6\">却下</label>\n".
              "  <input name=\"page\" type=\"hidden\" value=\"$page\">\n".
              "  <input name=\"source\" type=\"hidden\" value=\"$source\">\n".
              "  <input name=\"action\" type=\"hidden\" value=\"BUG_STATE\">\n".
              "  <input type=\"submit\" value=\"変更\">\n".
              "</form>";

    $buf =~ s/"$state"/$& checked="checked"/;
    return $buf;
}

1;