Index: app/controllers/issues_controller.rb =================================================================== --- app/controllers/issues_controller.rb (revision 387) +++ app/controllers/issues_controller.rb (working copy) @@ -142,7 +142,7 @@ def find_project @issue = Issue.find(params[:id], :include => [:project, :tracker, :status, :author, :priority, :category]) @project = @issue.project - @html_title = "#{@project.name} - #{@issue.tracker.name} ##{@issue.id}" + @html_title = "#{@project.name} - #{@issue.tracker.name} #{@issue.code_id}" rescue ActiveRecord::RecordNotFound render_404 end Index: app/controllers/projects_controller.rb =================================================================== --- app/controllers/projects_controller.rb (revision 387) +++ app/controllers/projects_controller.rb (working copy) @@ -296,7 +296,7 @@ csv << headers.collect {|c| ic.iconv(c) } # csv lines @issues.each do |issue| - fields = [issue.id, issue.status.name, + fields = [issue.code_id, issue.status.name, issue.tracker.name, issue.priority.name, issue.subject, Index: app/controllers/timelog_controller.rb =================================================================== --- app/controllers/timelog_controller.rb (revision 387) +++ app/controllers/timelog_controller.rb (working copy) @@ -67,7 +67,7 @@ fields = [l_date(entry.spent_on), entry.user.name, entry.activity.name, - (entry.issue ? entry.issue.id : nil), + (entry.issue ? entry.issue.code_id : nil), entry.hours, entry.comment ] Index: app/models/issue.rb =================================================================== --- app/models/issue.rb (revision 387) +++ app/models/issue.rb (working copy) @@ -78,6 +78,10 @@ def long_id "%05d" % self.id end + + def code_id + "#{self.project.code}-#{self.id}" + end def custom_value_for(custom_field) self.custom_values.each {|v| return v if v.custom_field_id == custom_field.id } Index: app/models/mailer.rb =================================================================== --- app/models/mailer.rb (revision 387) +++ app/models/mailer.rb (working copy) @@ -23,7 +23,7 @@ # Sends to all project members @recipients = issue.project.members.collect { |m| m.user.mail if m.user.mail_notification }.compact @from = Setting.mail_from - @subject = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] #{issue.status.name} - #{issue.subject}" + @subject = "[#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}] #{issue.status.name} - #{issue.subject}" @body['issue'] = issue end @@ -33,7 +33,7 @@ issue = journal.journalized @recipients = issue.project.members.collect { |m| m.user.mail if m.user.mail_notification }.compact @from = Setting.mail_from - @subject = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] #{issue.status.name} - #{issue.subject}" + @subject = "[#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}] #{issue.status.name} - #{issue.subject}" @body['issue'] = issue @body['journal']= journal end @@ -60,7 +60,7 @@ added_to = "#{l(:label_document)}: #{container.title}" when 'Issue' url << "issues/show/#{container.id}" - added_to = "#{container.tracker.name} ##{container.id}: #{container.subject}" + added_to = "#{container.tracker.name} #{container.code_id}: #{container.subject}" end @recipients = container.project.users.collect { |u| u.mail if u.mail_notification }.compact @from = Setting.mail_from Index: app/models/project.rb =================================================================== --- app/models/project.rb (revision 387) +++ app/models/project.rb (working copy) @@ -31,8 +31,8 @@ has_and_belongs_to_many :custom_fields, :class_name => 'IssueCustomField', :join_table => "#{table_name_prefix}custom_fields_projects#{table_name_suffix}", :association_foreign_key => 'custom_field_id' acts_as_tree :order => "name", :counter_cache => true - validates_presence_of :name, :description - validates_uniqueness_of :name + validates_presence_of :name, :description, :code + validates_uniqueness_of :name, :code validates_associated :custom_values, :on => :update validates_associated :repository, :wiki validates_format_of :name, :with => /^[\w\s\'\-]*$/i Index: app/views/admin/projects.rhtml =================================================================== --- app/views/admin/projects.rhtml (revision 387) +++ app/views/admin/projects.rhtml (working copy) @@ -16,7 +16,7 @@ <% for project in @projects %> "> - <%= link_to project.name, :controller => 'projects', :action => 'settings', :id => project %> + <%= link_to "#{project.name} (#{project.code})", :controller => 'projects', :action => 'settings', :id => project %> <%=h project.description %> <%= image_tag 'true.png' if project.is_public? %> <%= project.children.size %> Index: app/views/feeds/history.rxml =================================================================== --- app/views/feeds/history.rxml (revision 387) +++ app/views/feeds/history.rxml (working copy) @@ -8,7 +8,7 @@ @journals.each do |journal| issue = journal.issue xml.item do - xml.title "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}" + xml.title "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}" url = url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false) xml.link url xml.description do Index: app/views/feeds/history_atom.rxml =================================================================== --- app/views/feeds/history_atom.rxml (revision 387) +++ app/views/feeds/history_atom.rxml (working copy) @@ -9,7 +9,7 @@ @journals.each do |journal| issue = journal.issue xml.entry do - xml.title "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}" + xml.title "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}" xml.link "rel" => "alternate", "href" => url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false) xml.id url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false) xml.updated CGI.rfc1123_date(journal.created_on) Index: app/views/feeds/issues.rxml =================================================================== --- app/views/feeds/issues.rxml (revision 387) +++ app/views/feeds/issues.rxml (working copy) @@ -7,7 +7,7 @@ xml.description l(:label_reported_issues) @issues.each do |issue| xml.item do - xml.title "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}" + xml.title "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}" url = url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false) xml.link url xml.description h(issue.description) Index: app/views/feeds/issues_atom.rxml =================================================================== --- app/views/feeds/issues_atom.rxml (revision 387) +++ app/views/feeds/issues_atom.rxml (working copy) @@ -8,7 +8,7 @@ xml.author { xml.name "#{Setting.app_title}" } @issues.each do |issue| xml.entry do - xml.title "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}" + xml.title "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}" xml.link "rel" => "alternate", "href" => url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false) xml.id url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false) xml.updated CGI.rfc1123_date(issue.updated_on) Index: app/views/issues/_list_simple.rhtml =================================================================== --- app/views/issues/_list_simple.rhtml (revision 387) +++ app/views/issues/_list_simple.rhtml (working copy) @@ -9,7 +9,7 @@ <% for issue in issues %> "> - <%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %> + <%= link_to issue.code_id, :controller => 'issues', :action => 'show', :id => issue %>

<%= issue.project.name %> - <%= issue.tracker.name %>
<%= issue.status.name %> - <%= format_time(issue.updated_on) %>

Index: app/views/issues/_pdf.rfpdf =================================================================== --- app/views/issues/_pdf.rfpdf (revision 387) +++ app/views/issues/_pdf.rfpdf (working copy) @@ -1,5 +1,5 @@ <% pdf.SetFontStyle('B',11) - pdf.Cell(190,10, "#{issue.project.name} - #{issue.tracker.name} # #{issue.long_id} - #{issue.subject}") + pdf.Cell(190,10, "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id} - #{issue.subject}") pdf.Ln y0 = pdf.GetY Index: app/views/issues/_tooltip.rhtml =================================================================== --- app/views/issues/_tooltip.rhtml (revision 387) +++ app/views/issues/_tooltip.rhtml (working copy) @@ -1,4 +1,4 @@ -<%= link_to "#{issue.tracker.name} ##{issue.id}", { :controller => 'issues', :action => 'show', :id => issue } %>: <%=h issue.subject %>
+<%= link_to "#{issue.tracker.name} #{issue.code_id}", { :controller => 'issues', :action => 'show', :id => issue } %>: <%=h issue.subject %>

<%= l(:field_start_date) %>: <%= format_date(issue.start_date) %>
<%= l(:field_due_date) %>: <%= format_date(issue.due_date) %>
Index: app/views/issues/change_status.rhtml =================================================================== --- app/views/issues/change_status.rhtml (revision 387) +++ app/views/issues/change_status.rhtml (working copy) @@ -1,4 +1,4 @@ -

<%=l(:label_issue)%> #<%= @issue.id %>: <%=h @issue.subject %>

+

<%=l(:label_issue)%> #<%= @issue.code_id %>: <%=h @issue.subject %>

<%= error_messages_for 'issue' %> <% form_tag({:action => 'change_status', :id => @issue}, :class => "tabular") do %> Index: app/views/issues/edit.rhtml =================================================================== --- app/views/issues/edit.rhtml (revision 387) +++ app/views/issues/edit.rhtml (working copy) @@ -1,4 +1,4 @@ -

<%= @issue.tracker.name %> #<%= @issue.id %> - <%=h @issue.subject %>

+

<%= @issue.tracker.name %> #<%= @issue.code_id %> - <%=h @issue.subject %>

<% labelled_tabular_form_for :issue, @issue, :url => {:action => 'edit'} do |f| %> <%= error_messages_for 'issue' %> Index: app/views/issues/export_pdf.rfpdf =================================================================== --- app/views/issues/export_pdf.rfpdf (revision 387) +++ app/views/issues/export_pdf.rfpdf (working copy) @@ -1,5 +1,5 @@ <% pdf=IfpdfHelper::IFPDF.new(current_language) - pdf.SetTitle("#{@project.name} - ##{@issue.tracker.name} #{@issue.id}") + pdf.SetTitle("#{@project.name} - ##{@issue.tracker.name} #{@issue.code_id}") pdf.AliasNbPages pdf.footer_date = format_date(Date.today) pdf.AddPage Index: app/views/issues/show.rhtml =================================================================== --- app/views/issues/show.rhtml (revision 387) +++ app/views/issues/show.rhtml (working copy) @@ -2,7 +2,7 @@ <%= l(:label_export_to) %><%= link_to 'PDF', {:action => 'export_pdf', :id => @issue}, :class => 'icon icon-pdf' %> -

<%= @issue.tracker.name %> #<%= @issue.id %> - <%=h @issue.subject %>

+

<%= @issue.tracker.name %> <%= @issue.code_id %> - <%=h @issue.subject %>

Index: app/views/mailer/_issue.rhtml =================================================================== --- app/views/mailer/_issue.rhtml (revision 387) +++ app/views/mailer/_issue.rhtml (working copy) @@ -1,4 +1,4 @@ -<%=l(:label_issue)%> #<%= issue.id %> - <%= issue.subject %> +<%=l(:label_issue)%> <%= issue.code_id %> - <%= issue.subject %> <%=l(:field_author)%>: <%= issue.author.display_name %> <%=l(:field_status)%>: <%= issue.status.name %> Index: app/views/mailer/issue_add_de.rhtml =================================================================== --- app/views/mailer/issue_add_de.rhtml (revision 387) +++ app/views/mailer/issue_add_de.rhtml (working copy) @@ -1,3 +1,3 @@ -Ticket Nr. #<%= @issue.id %> wurde erstellt. +Ticket Nr. #<%= @issue.code_id %> wurde erstellt. ---------------------------------------- <%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file Index: app/views/mailer/issue_add_en.rhtml =================================================================== --- app/views/mailer/issue_add_en.rhtml (revision 387) +++ app/views/mailer/issue_add_en.rhtml (working copy) @@ -1,3 +1,3 @@ -Issue #<%= @issue.id %> has been reported. +Issue #<%= @issue.code_id %> has been reported. ---------------------------------------- <%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file Index: app/views/mailer/issue_add_es.rhtml =================================================================== --- app/views/mailer/issue_add_es.rhtml (revision 387) +++ app/views/mailer/issue_add_es.rhtml (working copy) @@ -1,3 +1,3 @@ -Issue #<%= @issue.id %> has been reported. +Issue #<%= @issue.code_id %> has been reported. ---------------------------------------- <%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file Index: app/views/mailer/issue_add_fr.rhtml =================================================================== --- app/views/mailer/issue_add_fr.rhtml (revision 387) +++ app/views/mailer/issue_add_fr.rhtml (working copy) @@ -1,3 +1,3 @@ -Une nouvelle demande (#<%= @issue.id %>) a été soumise. +Une nouvelle demande (#<%= @issue.code_id %>) a été soumise. ---------------------------------------- <%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file Index: app/views/mailer/issue_add_it.rhtml =================================================================== --- app/views/mailer/issue_add_it.rhtml (revision 387) +++ app/views/mailer/issue_add_it.rhtml (working copy) @@ -1,3 +1,3 @@ -E' stata segnalata l'anomalia #<%= @issue.id %>. +E' stata segnalata l'anomalia #<%= @issue.code_id %>. ---------------------------------------- <%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file Index: app/views/mailer/issue_add_ja.rhtml =================================================================== --- app/views/mailer/issue_add_ja.rhtml (revision 387) +++ app/views/mailer/issue_add_ja.rhtml (working copy) @@ -1,3 +1,3 @@ -問題 #<%= @issue.id %> が報告されました。 +問題 #<%= @issue.code_id %> が報告されました。 ---------------------------------------- <%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %> \ No newline at end of file Index: app/views/mailer/issue_edit_de.rhtml =================================================================== --- app/views/mailer/issue_edit_de.rhtml (revision 387) +++ app/views/mailer/issue_edit_de.rhtml (working copy) @@ -1,4 +1,4 @@ -Ticket #<%= @issue.id %> wurde aktualisiert. +Ticket #<%= @issue.code_id %> wurde aktualisiert. <%= @journal.user.name %> <% for detail in @journal.details %> <%= show_detail(detail, true) %> Index: app/views/mailer/issue_edit_en.rhtml =================================================================== --- app/views/mailer/issue_edit_en.rhtml (revision 387) +++ app/views/mailer/issue_edit_en.rhtml (working copy) @@ -1,4 +1,4 @@ -Issue #<%= @issue.id %> has been updated. +Issue #<%= @issue.code_id %> has been updated. <%= @journal.user.name %> <% for detail in @journal.details %> <%= show_detail(detail, true) %> Index: app/views/mailer/issue_edit_es.rhtml =================================================================== --- app/views/mailer/issue_edit_es.rhtml (revision 387) +++ app/views/mailer/issue_edit_es.rhtml (working copy) @@ -1,4 +1,4 @@ -Issue #<%= @issue.id %> has been updated. +Issue #<%= @issue.code_id %> has been updated. <%= @journal.user.name %> <% for detail in @journal.details %> <%= show_detail(detail, true) %> Index: app/views/mailer/issue_edit_fr.rhtml =================================================================== --- app/views/mailer/issue_edit_fr.rhtml (revision 387) +++ app/views/mailer/issue_edit_fr.rhtml (working copy) @@ -1,4 +1,4 @@ -La demande #<%= @issue.id %> a été mise à jour. +La demande #<%= @issue.code_id %> a été mise à jour. <%= @journal.user.name %> <% for detail in @journal.details %> <%= show_detail(detail, true) %> Index: app/views/mailer/issue_edit_it.rhtml =================================================================== --- app/views/mailer/issue_edit_it.rhtml (revision 387) +++ app/views/mailer/issue_edit_it.rhtml (working copy) @@ -1,4 +1,4 @@ -L'anomalia #<%= @issue.id %> e' stata aggiornata. +L'anomalia #<%= @issue.code_id %> e' stata aggiornata. <%= @journal.user.name %> <% for detail in @journal.details %> <%= show_detail(detail, true) %> Index: app/views/mailer/issue_edit_ja.rhtml =================================================================== --- app/views/mailer/issue_edit_ja.rhtml (revision 387) +++ app/views/mailer/issue_edit_ja.rhtml (working copy) @@ -1,4 +1,4 @@ -問題 #<%= @issue.id %> が更新されました。 +問題 #<%= @issue.code_id %> が更新されました。 <%= @journal.user.name %> <% for detail in @journal.details %> <%= show_detail(detail, true) %> Index: app/views/my/blocks/_calendar.rhtml =================================================================== --- app/views/my/blocks/_calendar.rhtml (revision 387) +++ app/views/my/blocks/_calendar.rhtml (working copy) @@ -35,7 +35,7 @@ elsif day == i.due_date image_tag('arrow_to.png') end %> - <%= link_to "#{i.tracker.name} ##{i.id}", :controller => 'issues', :action => 'show', :id => i %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %>
+ <%= link_to "#{i.tracker.name} #{i.code_id}", :controller => 'issues', :action => 'show', :id => i %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %>
<% end %> <%= '' if day.cwday >= 7 and day!=@date_to %> Index: app/views/projects/_form.rhtml =================================================================== --- app/views/projects/_form.rhtml (revision 387) +++ app/views/projects/_form.rhtml (working copy) @@ -3,6 +3,7 @@

<%= f.text_field :name, :required => true %>

+

<%= f.text_field :code, :size => 10, :required => true %>

<% if admin_loggedin? and !@root_projects.empty? %>

<%= f.select :parent_id, (@root_projects.collect {|p| [p.name, p.id]}), { :include_blank => true } %>

Index: app/views/projects/activity.rhtml =================================================================== --- app/views/projects/activity.rhtml (revision 387) +++ app/views/projects/activity.rhtml (working copy) @@ -23,7 +23,7 @@ <% @events_by_day[day].sort {|x,y| y.created_on <=> x.created_on }.each do |e| %>
  • <% if e.is_a? Issue %> - <%= e.created_on.strftime("%H:%M") %> <%= link_to "#{e.tracker.name} ##{e.id}", :controller => 'issues', :action => 'show', :id => e %> (<%= e.status.name %>): <%=h e.subject %>
    + <%= e.created_on.strftime("%H:%M") %> <%= link_to "#{e.tracker.name} #{e.code_id}", :controller => 'issues', :action => 'show', :id => e %> (<%= e.status.name %>): <%=h e.subject %>
    <%= e.author.name %> <% elsif e.is_a? News %> <%= e.created_on.strftime("%H:%M") %> <%=l(:label_news)%>: <%= link_to h(e.title), :controller => 'news', :action => 'show', :id => e %>
    Index: app/views/projects/calendar.rhtml =================================================================== --- app/views/projects/calendar.rhtml (revision 387) +++ app/views/projects/calendar.rhtml (working copy) @@ -52,7 +52,7 @@ elsif day == i.due_date image_tag('arrow_to.png') end %> - <%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i } %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %> + <%= link_to "#{i.tracker.name} #{i.code_id}", { :controller => 'issues', :action => 'show', :id => i } %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %> <%= render :partial => "issues/tooltip", :locals => { :issue => i }%> Index: app/views/projects/changelog.rhtml =================================================================== --- app/views/projects/changelog.rhtml (revision 387) +++ app/views/projects/changelog.rhtml (working copy) @@ -25,6 +25,6 @@

      <% ver_id = issue.fixed_version_id end %> -
    • <%= link_to "#{issue.tracker.name} #{issue.id}", :controller => 'issues', :action => 'show', :id => issue %>: <%=h issue.subject %>
    • +
    • <%= link_to "#{issue.tracker.name} #{issue.code_id}", :controller => 'issues', :action => 'show', :id => issue %>: <%=h issue.subject %>
    • <% end %>
  • \ No newline at end of file Index: app/views/projects/export_issues_pdf.rfpdf =================================================================== --- app/views/projects/export_issues_pdf.rfpdf (revision 387) +++ app/views/projects/export_issues_pdf.rfpdf (working copy) @@ -35,7 +35,7 @@ pdf.SetFontStyle('',9) pdf.SetFillColor(255, 255, 255) @issues.each do |issue| - pdf.Cell(15, row_height, issue.id.to_s, 0, 0, 'L', 1) + pdf.Cell(15, row_height, issue.code_id, 0, 0, 'L', 1) pdf.Cell(30, row_height, issue.tracker.name, 0, 0, 'L', 1) pdf.Cell(30, row_height, issue.status.name, 0, 0, 'L', 1) pdf.Cell(30, row_height, issue.priority.name, 0, 0, 'L', 1) Index: app/views/projects/gantt.rhtml =================================================================== --- app/views/projects/gantt.rhtml (revision 387) +++ app/views/projects/gantt.rhtml (working copy) @@ -73,7 +73,7 @@ top = headers_heigth + 8 @issues.each do |i| %>
    - <%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i }, :title => "#{i.subject}" %>: + <%= link_to "#{i.tracker.name} #{i.code_id}", { :controller => 'issues', :action => 'show', :id => i }, :title => "#{i.subject}" %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %>
    <% top = top + 20 Index: app/views/projects/list.rhtml =================================================================== --- app/views/projects/list.rhtml (revision 387) +++ app/views/projects/list.rhtml (working copy) @@ -9,7 +9,7 @@ <% for project in @projects %> "> - + Index: app/views/projects/list_issues.rhtml =================================================================== --- app/views/projects/list_issues.rhtml (revision 387) +++ app/views/projects/list_issues.rhtml (working copy) @@ -58,7 +58,7 @@ <% for issue in @issues %> "> - + Index: app/views/projects/roadmap.rhtml =================================================================== --- app/views/projects/roadmap.rhtml (revision 387) +++ app/views/projects/roadmap.rhtml (working copy) @@ -48,7 +48,7 @@ <% else %> <% issues.each do |issue| %>
  • - <%= link = link_to("#{issue.tracker.name} ##{issue.id}", :controller => 'issues', :action => 'show', :id => issue) + <%= link = link_to("#{issue.tracker.name} #{issue.code_id}", :controller => 'issues', :action => 'show', :id => issue) issue.status.is_closed? ? content_tag("del", link) : link %> : <%=h issue.subject %> <%= content_tag "em", "(#{l(:label_closed_issues)})" if issue.status.is_closed? %> Index: app/views/projects/search.rhtml =================================================================== --- app/views/projects/search.rhtml (revision 387) +++ app/views/projects/search.rhtml (working copy) @@ -24,7 +24,7 @@ <% @results.each do |e| %>
  • <% if e.is_a? Issue %> - <%= link_to "#{e.tracker.name} ##{e.id}", :controller => 'issues', :action => 'show', :id => e %>: <%= highlight_tokens(h(e.subject), @tokens) %>
    + <%= link_to "#{e.tracker.name} #{e.code_id}", :controller => 'issues', :action => 'show', :id => e %>: <%= highlight_tokens(h(e.subject), @tokens) %>
    <%= highlight_tokens(e.description, @tokens) %>
    <%= e.author.name %>, <%= format_time(e.created_on) %> <% elsif e.is_a? News %> Index: app/views/timelog/details.rhtml =================================================================== --- app/views/timelog/details.rhtml (revision 387) +++ app/views/timelog/details.rhtml (working copy) @@ -5,7 +5,7 @@

    <%= l(:label_spent_time) %>

    <%= link_to(@project.name, {:action => 'details', :project_id => @project}) if @project %> -<%= "/ " + link_to("#{@issue.tracker.name} ##{@issue.id}", {:action => 'details', :issue_id => @issue }) + ": #{h(@issue.subject)}" if @issue %>

    +<%= "/ " + link_to("#{@issue.tracker.name} #{@issue.code_id}", {:action => 'details', :issue_id => @issue }) + ": #{h(@issue.subject)}" if @issue %>

    <%= l(:label_total) %>: <%= lwr(:label_f_hour, @total_hours) %>

    @@ -29,7 +29,7 @@
  • <%= link_to project.name, :action => 'show', :id => project %><%= link_to "#{project.name} (#{project.code})", :action => 'show', :id => project %> <%=h project.description %> <%= format_date(project.created_on) %>
    <%= check_box_tag "issue_ids[]", issue.id, false, :id => "issue_#{issue.id}" %><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %><%= link_to issue.code_id, :controller => 'issues', :action => 'show', :id => issue %> <%= issue.tracker.name %>
    <%= issue.status.name %>
    <%= issue.priority.name %> <% if entry.issue %>
    - <%= link_to "#{entry.issue.tracker.name} ##{entry.issue.id}", {:action => 'details', :issue_id => entry.issue } %> + <%= link_to "#{entry.issue.tracker.name} #{entry.issue.code_id}", {:action => 'details', :issue_id => entry.issue } %> <%= render :partial => "issues/tooltip", :locals => { :issue => entry.issue }%> Index: app/views/timelog/edit.rhtml =================================================================== --- app/views/timelog/edit.rhtml (revision 387) +++ app/views/timelog/edit.rhtml (working copy) @@ -4,7 +4,7 @@ <%= error_messages_for 'time_entry' %>
    -

    <%= f.text_field :issue_id, :size => 6 %> <%= h("#{@time_entry.issue.tracker.name} ##{@time_entry.issue.id}: #{@time_entry.issue.subject}") if @time_entry.issue %>

    +

    <%= f.text_field :issue_id, :size => 6 %> <%= h("#{@time_entry.issue.tracker.name} #{@time_entry.issue.code_id}: #{@time_entry.issue.subject}") if @time_entry.issue %>

    <%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %>

    <%= f.text_field :hours, :size => 6, :required => true %>

    <%= f.text_field :comment, :size => 100 %>

    Index: config/database.yml =================================================================== --- config/database.yml (revision 387) +++ config/database.yml (working copy) @@ -17,8 +17,8 @@ adapter: mysql database: redmine_development host: localhost - username: root - password: + username: redmine + password: redmine test: adapter: mysql Index: db/migrate/037_add_project_code.rb =================================================================== --- db/migrate/037_add_project_code.rb (revision 0) +++ db/migrate/037_add_project_code.rb (revision 0) @@ -0,0 +1,10 @@ +class AddProjectCode < ActiveRecord::Migration + def self.up + add_column :projects, :code, :string, :length => 10, :null => false + add_index :projects, :code, :unique => true, :name => :projects_code + end + + def self.down + remove_column :projects, :code + end +end Index: lang/en.yml =================================================================== --- lang/en.yml (revision 387) +++ lang/en.yml (working copy) @@ -74,6 +74,7 @@ gui_validation_error_plural: %d errors field_name: Name +field_code: Code field_description: Description field_summary: Summary field_is_required: Required