Nuevo plugin Redmine Questions 0.0.7 light
This commit is contained in:
parent
c5b56fffec
commit
7de6fb4627
51 changed files with 2162 additions and 0 deletions
39
plugins/redmine_questions/app/views/messages/_form.html.erb
Normal file
39
plugins/redmine_questions/app/views/messages/_form.html.erb
Normal file
|
@ -0,0 +1,39 @@
|
|||
<%= error_messages_for 'message' %>
|
||||
<% replying ||= false %>
|
||||
|
||||
<div class="box">
|
||||
<!--[form:message]-->
|
||||
<p style=<%= "display:none;" if replying %> ><label for="message_subject"><%= l(:field_subject) %></label><br />
|
||||
<%= f.text_field :subject, :style => "width: 80%;", :id => "message_subject" %>
|
||||
<% unless replying %>
|
||||
|
||||
<% if @message.safe_attribute? 'sticky' %>
|
||||
<%= f.check_box :sticky %> <%= label_tag 'message_sticky', l(:label_board_sticky) %>
|
||||
<% end %>
|
||||
<% if @message.safe_attribute? 'locked' %>
|
||||
<%= f.check_box :locked %> <%= label_tag 'message_locked', l(:label_board_locked) %>
|
||||
<% end %>
|
||||
<% end %>
|
||||
</p>
|
||||
|
||||
<% if !replying && !@message.new_record? && @message.safe_attribute?('board_id') %>
|
||||
<p><label><%= l(:label_board) %></label><br />
|
||||
<%= f.select :board_id, boards_options_for_select(@message.project.boards) %></p>
|
||||
<% end %>
|
||||
|
||||
<p>
|
||||
<%= label_tag "message_content", l(:description_message_content), :class => "hidden-for-sighted" %>
|
||||
<%= f.text_area :content, :cols => 80, :rows => 15, :class => 'wiki-edit', :id => 'message_content' %></p>
|
||||
<%= wikitoolbar_for 'message_content' %>
|
||||
<!--[eoform:message]-->
|
||||
|
||||
<% if !replying && @message.safe_attribute?('tag_list') %>
|
||||
<p>
|
||||
<label for="message_tag_list"><%= l(:field_questions_tags) %></label><br />
|
||||
<%= render :partial => 'questions/form_tags' %>
|
||||
</p>
|
||||
<% end %>
|
||||
|
||||
<p><%= l(:label_attachment_plural) %><br />
|
||||
<%= render :partial => 'attachments/form', :locals => {:container => @message} %></p>
|
||||
</div>
|
18
plugins/redmine_questions/app/views/messages/edit.html.erb
Normal file
18
plugins/redmine_questions/app/views/messages/edit.html.erb
Normal file
|
@ -0,0 +1,18 @@
|
|||
<%= board_breadcrumb(@message) %>
|
||||
|
||||
<h2><%= avatar(@topic.author, :size => "24") %><%=h @topic.subject %></h2>
|
||||
|
||||
<%= form_for @message, {
|
||||
:as => :message,
|
||||
:url => {:action => 'edit'},
|
||||
:html => {:multipart => true,
|
||||
:id => 'message-form',
|
||||
:method => :post}
|
||||
} do |f| %>
|
||||
<%= render :partial => 'form',
|
||||
:locals => {:f => f, :replying => !@message.parent.nil?} %>
|
||||
<%= submit_tag l(:button_save) %>
|
||||
<%= preview_link({:controller => 'messages', :action => 'preview', :board_id => @board, :id => @message}, 'message-form') %>
|
||||
<% end %>
|
||||
<div id="preview" class="wiki"></div>
|
||||
|
144
plugins/redmine_questions/app/views/messages/show.html.erb
Normal file
144
plugins/redmine_questions/app/views/messages/show.html.erb
Normal file
|
@ -0,0 +1,144 @@
|
|||
<%= board_breadcrumb(@message) %>
|
||||
|
||||
<div class="contextual">
|
||||
<%= content_tag('span', watcher_link(@topic, User.current), :id => 'watcher') %>
|
||||
<% voted = User.current.voted_for?(@topic) %>
|
||||
<%= link_to(
|
||||
voted ? l(:button_questions_unvote) : l(:button_questions_vote),
|
||||
{:controller => 'questions', :action => 'vote', :id => @topic},
|
||||
:class => 'icon ' + (voted ? 'icon-vote' : 'icon-unvote')
|
||||
) if User.current.allowed_to?(:vote_messages, @project) %>
|
||||
|
||||
<%= link_to(
|
||||
l(:button_quote),
|
||||
{:action => 'quote', :id => @topic},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:class => 'icon icon-comment',
|
||||
:remote => true) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<%= link_to(
|
||||
l(:button_edit),
|
||||
{:action => 'edit', :id => @topic},
|
||||
:class => 'icon icon-edit'
|
||||
) if @message.editable_by?(User.current) %>
|
||||
<%= link_to(
|
||||
l(:button_delete),
|
||||
{:action => 'destroy', :id => @topic},
|
||||
:method => :post,
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:class => 'icon icon-del'
|
||||
) if @message.destroyable_by?(User.current) %>
|
||||
</div>
|
||||
|
||||
<div class="message details">
|
||||
<h2><%=h @topic.subject %></h2>
|
||||
<%= avatar(@topic.author, :size => "32") %>
|
||||
<p class="author"><%= link_to_user @topic.author %><br>
|
||||
<%= l(:label_questions_added_time, :value => time_tag(@topic.created_on)).html_safe %>
|
||||
</p>
|
||||
<div class="wiki">
|
||||
<%= textilizable(@topic, :content) %>
|
||||
</div>
|
||||
<%= link_to_attachments @topic, :author => false %>
|
||||
|
||||
</div>
|
||||
<br />
|
||||
|
||||
<% unless @replies.empty? %>
|
||||
<h3 class="comments"><%= l(:label_reply_plural) %> (<%= @reply_count %>)</h3>
|
||||
<% @replies.each do |message| %>
|
||||
<div class="message reply" id="<%= "message-#{message.id}" %>">
|
||||
<div class="contextual">
|
||||
<% liked = User.current.voted_for?(message) %>
|
||||
<%= link_to(
|
||||
message.count_votes_up > 0 ? "(#{message.count_votes_up})" : "",
|
||||
{:controller => 'questions', :action => 'vote', :id => message},
|
||||
:class => 'vote icon ' + (liked ? 'icon-vote' : 'icon-unvote')
|
||||
) if true || User.current.allowed_to?(:vote_messages, @project) %>
|
||||
<%= link_to(
|
||||
image_tag('comment.png'),
|
||||
{:action => 'quote', :id => message},
|
||||
:remote => true,
|
||||
:method => 'get',
|
||||
:title => l(:button_quote)) if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<%= link_to(
|
||||
image_tag('edit.png'),
|
||||
{:action => 'edit', :id => message},
|
||||
:title => l(:button_edit)
|
||||
) if message.editable_by?(User.current) %>
|
||||
<%= link_to(
|
||||
image_tag('delete.png'),
|
||||
{:action => 'destroy', :id => message},
|
||||
:method => :post,
|
||||
:data => {:confirm => l(:text_are_you_sure)},
|
||||
:title => l(:button_delete)
|
||||
) if message.destroyable_by?(User.current) %>
|
||||
</div>
|
||||
<% if Setting.gravatar_enabled? %>
|
||||
<div class="avatar">
|
||||
<%= message_avatar = avatar(message.author, :size => "32") %>
|
||||
</div>
|
||||
<% end %>
|
||||
<div class="reply-details <%= 'use-avatar' unless message_avatar.blank? %>">
|
||||
<h4 class="author"><%= authoring message.created_on, message.author %></h4>
|
||||
<div class="wiki"><%= textilizable message, :content, :attachments => message.attachments %></div>
|
||||
<%= link_to_attachments message, :author => false %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
<p class="pagination"><%= pagination_links_full @reply_pages, @reply_count, :per_page_links => false %></p>
|
||||
<% end %>
|
||||
|
||||
<% if !@topic.locked? && authorize_for('messages', 'reply') %>
|
||||
<p><%= toggle_link l(:button_reply), "reply", :focus => 'message_content' %></p>
|
||||
<div id="reply" style="display:none;">
|
||||
<%= form_for @reply, :as => :reply, :url => {:action => 'reply', :id => @topic}, :html => {:multipart => true, :id => 'message-form'} do |f| %>
|
||||
<%= render :partial => 'form', :locals => {:f => f, :replying => true} %>
|
||||
<%= submit_tag l(:button_submit) %>
|
||||
<%= preview_link({:controller => 'messages', :action => 'preview', :board_id => @board}, 'message-form') %>
|
||||
<% end %>
|
||||
<div id="preview" class="wiki"></div>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
|
||||
<% content_for :sidebar do %>
|
||||
<h3><%= l(:label_questions_message) %></h3>
|
||||
<ul class="question-meta">
|
||||
<li class="votes icon icon-vote">
|
||||
<%= l(:label_questions_votes, :count => @topic.count_votes_up - @topic.count_votes_down ) %>
|
||||
</li>
|
||||
<li class="views icon icon-view">
|
||||
<%= l(:label_questions_views, :count => @topic.view_count ) %>
|
||||
</li>
|
||||
<% unless @topic.tags.blank? %>
|
||||
<li class="tags icon icon-tag">
|
||||
<%=
|
||||
@topic.tags.collect do |tag|
|
||||
link_to tag, {:controller => "questions", :action => "topics", :project_id => @project, :tag => tag.name}
|
||||
end.join(', ').html_safe
|
||||
%>
|
||||
</li>
|
||||
<% end %>
|
||||
</ul>
|
||||
|
||||
<h3><%= l(:label_questions_related_messages) %></h3>
|
||||
<ul class="related-topics">
|
||||
<%# Board.all.map(&:topics).flatten.first(5).each do |topic| %>
|
||||
<% tokens = @topic.subject.strip.scan(%r{((\s|^)"[\s\w]+"(\s|$)|\S+)}).collect {|m| m.first.gsub(%r{(^\s*"\s*|\s*"\s*$)}, '')} || "" %>
|
||||
<% if ActiveRecord::VERSION::MAJOR >= 4 %>
|
||||
<% related_topics = Message.where(tokens.map{ |t| "subject LIKE '%#{t}%'" }.join(' OR ')).to_a.compact if tokens %>
|
||||
<% else %>
|
||||
<% related_topics = Message.search(tokens, @project, :limit => 5)[0].select{|m| m != @topic && m.parent_id == nil }.compact if tokens %>
|
||||
<% end %>
|
||||
<% related_topics.each do |topic| %>
|
||||
<li class="related-topic">
|
||||
<%= link_to h(topic.subject), { :controller => 'messages', :action => 'show', :board_id => topic.board, :id => topic } %>
|
||||
</li>
|
||||
<% end if related_topics %>
|
||||
</ul>
|
||||
|
||||
|
||||
<% end %>
|
||||
|
||||
<% html_title @topic.subject %>
|
Loading…
Add table
Add a link
Reference in a new issue