Project

General

Profile

Patch #214 » code_id.diff

Ted Wise, 2008-02-03 11:00

View differences:

app/controllers/issues_controller.rb (working copy)
142 142
  def find_project
143 143
    @issue = Issue.find(params[:id], :include => [:project, :tracker, :status, :author, :priority, :category])
144 144
    @project = @issue.project
145
    @html_title = "#{@project.name} - #{@issue.tracker.name} ##{@issue.id}"
145
    @html_title = "#{@project.name} - #{@issue.tracker.name} #{@issue.code_id}"
146 146
  rescue ActiveRecord::RecordNotFound
147 147
    render_404
148 148
  end  
app/controllers/projects_controller.rb (working copy)
296 296
      csv << headers.collect {|c| ic.iconv(c) }
297 297
      # csv lines
298 298
      @issues.each do |issue|
299
        fields = [issue.id, issue.status.name, 
299
        fields = [issue.code_id, issue.status.name, 
300 300
                            issue.tracker.name, 
301 301
                            issue.priority.name,
302 302
                            issue.subject, 
app/controllers/timelog_controller.rb (working copy)
67 67
        fields = [l_date(entry.spent_on),
68 68
                  entry.user.name,
69 69
                  entry.activity.name,
70
                  (entry.issue ? entry.issue.id : nil),
70
                  (entry.issue ? entry.issue.code_id : nil),
71 71
                  entry.hours,
72 72
                  entry.comment
73 73
                  ]
app/models/issue.rb (working copy)
78 78
  def long_id
79 79
    "%05d" % self.id
80 80
  end
81

  
82
  def code_id
83
    "#{self.project.code}-#{self.id}"
84
  end
81 85
  
82 86
  def custom_value_for(custom_field)
83 87
    self.custom_values.each {|v| return v if v.custom_field_id == custom_field.id }
app/models/mailer.rb (working copy)
23 23
    # Sends to all project members
24 24
    @recipients     = issue.project.members.collect { |m| m.user.mail if m.user.mail_notification }.compact
25 25
    @from           = Setting.mail_from
26
    @subject        = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] #{issue.status.name} - #{issue.subject}"
26
    @subject        = "[#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}] #{issue.status.name} - #{issue.subject}"
27 27
    @body['issue']  = issue
28 28
  end
29 29

  
......
33 33
    issue = journal.journalized
34 34
    @recipients     = issue.project.members.collect { |m| m.user.mail if m.user.mail_notification }.compact
35 35
    @from           = Setting.mail_from
36
    @subject        = "[#{issue.project.name} - #{issue.tracker.name} ##{issue.id}] #{issue.status.name} - #{issue.subject}"
36
    @subject        = "[#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}] #{issue.status.name} - #{issue.subject}"
37 37
    @body['issue']  = issue
38 38
    @body['journal']= journal
39 39
  end
......
60 60
      added_to = "#{l(:label_document)}: #{container.title}"
61 61
    when 'Issue'
62 62
      url << "issues/show/#{container.id}"
63
      added_to = "#{container.tracker.name} ##{container.id}: #{container.subject}"
63
      added_to = "#{container.tracker.name} #{container.code_id}: #{container.subject}"
64 64
    end
65 65
    @recipients     = container.project.users.collect { |u| u.mail if u.mail_notification }.compact
66 66
    @from           = Setting.mail_from
app/models/project.rb (working copy)
31 31
  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'
32 32
  acts_as_tree :order => "name", :counter_cache => true
33 33

  
34
  validates_presence_of :name, :description
35
  validates_uniqueness_of :name
34
  validates_presence_of :name, :description, :code
35
  validates_uniqueness_of :name, :code
36 36
  validates_associated :custom_values, :on => :update
37 37
  validates_associated :repository, :wiki
38 38
  validates_format_of :name, :with => /^[\w\s\'\-]*$/i
app/views/admin/projects.rhtml (working copy)
16 16
  <tbody>
17 17
<% for project in @projects %>
18 18
  <tr class="<%= cycle("odd", "even") %>">
19
	<td><%= link_to project.name, :controller => 'projects', :action => 'settings', :id => project %>
19
  <td><%= link_to "#{project.name} (#{project.code})", :controller => 'projects', :action => 'settings', :id => project %>
20 20
	<td><%=h project.description %>
21 21
	<td align="center"><%= image_tag 'true.png' if project.is_public? %>
22 22
	<td align="center"><%= project.children.size %>
app/views/feeds/history.rxml (working copy)
8 8
    @journals.each do |journal|
9 9
      issue = journal.issue
10 10
      xml.item do
11
        xml.title "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}"
11
        xml.title "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}"
12 12
        url = url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false)
13 13
        xml.link url
14 14
        xml.description do
app/views/feeds/history_atom.rxml (working copy)
9 9
  @journals.each do |journal|
10 10
    issue = journal.issue
11 11
    xml.entry do
12
      xml.title   "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}"
12
      xml.title   "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}"
13 13
      xml.link    "rel" => "alternate", "href" => url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false)
14 14
      xml.id      url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false)
15 15
      xml.updated CGI.rfc1123_date(journal.created_on)
app/views/feeds/issues.rxml (working copy)
7 7
    xml.description l(:label_reported_issues)
8 8
    @issues.each do |issue|
9 9
      xml.item do
10
        xml.title "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}"
10
        xml.title "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}"
11 11
        url = url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false)
12 12
        xml.link url
13 13
        xml.description h(issue.description)
app/views/feeds/issues_atom.rxml (working copy)
8 8
  xml.author  { xml.name "#{Setting.app_title}" }
9 9
  @issues.each do |issue|
10 10
    xml.entry do
11
      xml.title   "#{issue.project.name} - #{issue.tracker.name} ##{issue.id}: #{issue.subject}"
11
      xml.title   "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id}: #{issue.subject}"
12 12
      xml.link    "rel" => "alternate", "href" => url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false)
13 13
      xml.id      url_for(:controller => 'issues' , :action => 'show', :id => issue, :only_path => false)
14 14
      xml.updated CGI.rfc1123_date(issue.updated_on)
app/views/issues/_list_simple.rhtml (working copy)
9 9
		<% for issue in issues %>
10 10
		<tr class="<%= cycle("odd", "even") %>">
11 11
			<th align="center">
12
				<%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %>
12
				<%= link_to issue.code_id, :controller => 'issues', :action => 'show', :id => issue %>
13 13
			</th>
14 14
			<td><p class="small"><%= issue.project.name %> - <%= issue.tracker.name %><br />
15 15
                <%= issue.status.name %> - <%= format_time(issue.updated_on) %></p></td>
app/views/issues/_pdf.rfpdf (working copy)
1 1
<%	pdf.SetFontStyle('B',11)   	
2
   	pdf.Cell(190,10, "#{issue.project.name} - #{issue.tracker.name} # #{issue.long_id} - #{issue.subject}")
2
   	pdf.Cell(190,10, "#{issue.project.name} - #{issue.tracker.name} #{issue.code_id} - #{issue.subject}")
3 3
    pdf.Ln
4 4
    
5 5
    y0 = pdf.GetY
app/views/issues/_tooltip.rhtml (working copy)
1
<%= link_to "#{issue.tracker.name} ##{issue.id}", { :controller => 'issues', :action => 'show', :id => issue } %></strong>: <%=h issue.subject %><br />
1
<%= link_to "#{issue.tracker.name} #{issue.code_id}", { :controller => 'issues', :action => 'show', :id => issue } %></strong>: <%=h issue.subject %><br />
2 2
<br />
3 3
<strong><%= l(:field_start_date) %></strong>: <%= format_date(issue.start_date) %><br />
4 4
<strong><%= l(:field_due_date) %></strong>: <%= format_date(issue.due_date) %><br />
app/views/issues/change_status.rhtml (working copy)
1
<h2><%=l(:label_issue)%> #<%= @issue.id %>: <%=h @issue.subject %></h2>
1
<h2><%=l(:label_issue)%> #<%= @issue.code_id %>: <%=h @issue.subject %></h2>
2 2

  
3 3
<%= error_messages_for 'issue' %>
4 4
<% form_tag({:action => 'change_status', :id => @issue}, :class => "tabular") do %>
app/views/issues/edit.rhtml (working copy)
1
<h2><%= @issue.tracker.name %> #<%= @issue.id %> - <%=h @issue.subject %></h2>
1
<h2><%= @issue.tracker.name %> #<%= @issue.code_id %> - <%=h @issue.subject %></h2>
2 2

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

  
5
<h2><%= @issue.tracker.name %> #<%= @issue.id %> - <%=h @issue.subject %></h2>
5
<h2><%= @issue.tracker.name %> <%= @issue.code_id %> - <%=h @issue.subject %></h2>
6 6

  
7 7
<div class="box">
8 8
<table width="100%">
app/views/mailer/_issue.rhtml (working copy)
1
<%=l(:label_issue)%> #<%= issue.id %> - <%= issue.subject %>
1
<%=l(:label_issue)%> <%= issue.code_id %> - <%= issue.subject %>
2 2
<%=l(:field_author)%>: <%= issue.author.display_name %>
3 3
<%=l(:field_status)%>: <%= issue.status.name %>
4 4

  
app/views/mailer/issue_add_de.rhtml (working copy)
1
Ticket Nr. #<%= @issue.id %> wurde erstellt.
1
Ticket Nr. #<%= @issue.code_id %> wurde erstellt.
2 2
----------------------------------------
3 3
<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %>
app/views/mailer/issue_add_en.rhtml (working copy)
1
Issue #<%= @issue.id %> has been reported.
1
Issue #<%= @issue.code_id %> has been reported.
2 2
----------------------------------------
3 3
<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %>
app/views/mailer/issue_add_es.rhtml (working copy)
1
Issue #<%= @issue.id %> has been reported.
1
Issue #<%= @issue.code_id %> has been reported.
2 2
----------------------------------------
3 3
<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %>
app/views/mailer/issue_add_fr.rhtml (working copy)
1
Une nouvelle demande (#<%= @issue.id %>) a été soumise.
1
Une nouvelle demande (#<%= @issue.code_id %>) a été soumise.
2 2
----------------------------------------
3 3
<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %>
app/views/mailer/issue_add_it.rhtml (working copy)
1
E' stata segnalata l'anomalia #<%= @issue.id %>.
1
E' stata segnalata l'anomalia #<%= @issue.code_id %>.
2 2
----------------------------------------
3 3
<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %>
app/views/mailer/issue_add_ja.rhtml (working copy)
1
問題 #<%= @issue.id %> が報告されました。
1
問題 #<%= @issue.code_id %> が報告されました。
2 2
----------------------------------------
3 3
<%= render :file => "_issue", :use_full_path => true, :locals => { :issue => @issue } %>
app/views/mailer/issue_edit_de.rhtml (working copy)
1
Ticket #<%= @issue.id %> wurde aktualisiert.
1
Ticket #<%= @issue.code_id %> wurde aktualisiert.
2 2
<%= @journal.user.name %>
3 3
<% for detail in @journal.details %>
4 4
<%= show_detail(detail, true) %>
app/views/mailer/issue_edit_en.rhtml (working copy)
1
Issue #<%= @issue.id %> has been updated.
1
Issue #<%= @issue.code_id %> has been updated.
2 2
<%= @journal.user.name %>
3 3
<% for detail in @journal.details %>
4 4
<%= show_detail(detail, true) %>
app/views/mailer/issue_edit_es.rhtml (working copy)
1
Issue #<%= @issue.id %> has been updated.
1
Issue #<%= @issue.code_id %> has been updated.
2 2
<%= @journal.user.name %>
3 3
<% for detail in @journal.details %>
4 4
<%= show_detail(detail, true) %>
app/views/mailer/issue_edit_fr.rhtml (working copy)
1
La demande #<%= @issue.id %> a été mise à jour.
1
La demande #<%= @issue.code_id %> a été mise à jour.
2 2
<%= @journal.user.name %>
3 3
<% for detail in @journal.details %>
4 4
<%= show_detail(detail, true) %>
app/views/mailer/issue_edit_it.rhtml (working copy)
1
L'anomalia #<%= @issue.id %> e' stata aggiornata.
1
L'anomalia #<%= @issue.code_id %> e' stata aggiornata.
2 2
<%= @journal.user.name %>
3 3
<% for detail in @journal.details %>
4 4
<%= show_detail(detail, true) %>
app/views/mailer/issue_edit_ja.rhtml (working copy)
1
問題 #<%= @issue.id %> が更新されました。
1
問題 #<%= @issue.code_id %> が更新されました。
2 2
<%= @journal.user.name %>
3 3
<% for detail in @journal.details %>
4 4
<%= show_detail(detail, true) %>
app/views/my/blocks/_calendar.rhtml (working copy)
35 35
		elsif day == i.due_date
36 36
		    image_tag('arrow_to.png') 
37 37
		end %>
38
		<small><%= link_to "#{i.tracker.name} ##{i.id}", :controller => 'issues', :action => 'show', :id => i %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small><br />
38
		<small><%= link_to "#{i.tracker.name} #{i.code_id}", :controller => 'issues', :action => 'show', :id => i %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small><br />
39 39
	<% end %>
40 40
    </td>
41 41
	<%= '</tr><tr height="100">' if day.cwday >= 7 and day!=@date_to %>
app/views/projects/_form.rhtml (working copy)
3 3
<div class="box">
4 4
<!--[form:project]-->
5 5
<p><%= f.text_field :name, :required => true %></p>
6
<p><%= f.text_field :code, :size => 10, :required => true %></p>
6 7

  
7 8
<% if admin_loggedin? and !@root_projects.empty? %>
8 9
    <p><%= f.select :parent_id, (@root_projects.collect {|p| [p.name, p.id]}), { :include_blank => true } %></p>
app/views/projects/activity.rhtml (working copy)
23 23
  <% @events_by_day[day].sort {|x,y| y.created_on <=> x.created_on }.each do |e| %>
24 24
    <li><p>
25 25
    <% if e.is_a? Issue %>
26
      <%= 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 %><br />
26
      <%= 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 %><br />
27 27
          <i><%= e.author.name %></i>
28 28
    <% elsif e.is_a? News %>
29 29
      <%= e.created_on.strftime("%H:%M") %> <%=l(:label_news)%>: <%= link_to h(e.title), :controller => 'news', :action => 'show', :id => e %><br />
app/views/projects/calendar.rhtml (working copy)
52 52
		elsif day == i.due_date
53 53
		    image_tag('arrow_to.png') 
54 54
		end %>
55
		<small><%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i } %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small>
55
		<small><%= link_to "#{i.tracker.name} #{i.code_id}", { :controller => 'issues', :action => 'show', :id => i } %>: <%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small>
56 56
        <span class="tip">
57 57
        <%= render :partial => "issues/tooltip", :locals => { :issue => i }%>
58 58
        </span>		
app/views/projects/changelog.rhtml (working copy)
25 25
    <ul>
26 26
    <% ver_id = issue.fixed_version_id
27 27
    end %>
28
    <li><%= link_to "#{issue.tracker.name} #{issue.id}", :controller => 'issues', :action => 'show', :id => issue %>: <%=h issue.subject %></li>
28
    <li><%= link_to "#{issue.tracker.name} #{issue.code_id}", :controller => 'issues', :action => 'show', :id => issue %>: <%=h issue.subject %></li>
29 29
<% end %>
30 30
</div>
app/views/projects/export_issues_pdf.rfpdf (working copy)
35 35
	pdf.SetFontStyle('',9)
36 36
	pdf.SetFillColor(255, 255, 255)
37 37
	@issues.each do |issue|		
38
	   	pdf.Cell(15, row_height, issue.id.to_s, 0, 0, 'L', 1)
38
	   	pdf.Cell(15, row_height, issue.code_id, 0, 0, 'L', 1)
39 39
	   	pdf.Cell(30, row_height, issue.tracker.name, 0, 0, 'L', 1)
40 40
	   	pdf.Cell(30, row_height, issue.status.name, 0, 0, 'L', 1)
41 41
	   	pdf.Cell(30, row_height, issue.priority.name, 0, 0, 'L', 1)
app/views/projects/gantt.rhtml (working copy)
73 73
top = headers_heigth + 8
74 74
@issues.each do |i| %>
75 75
	<div style="position: absolute;line-height:1.2em;height:16px;top:<%= top %>px;left:4px;overflow:hidden;">
76
	<small><%= link_to "#{i.tracker.name} ##{i.id}", { :controller => 'issues', :action => 'show', :id => i }, :title => "#{i.subject}" %>:
76
	<small><%= link_to "#{i.tracker.name} #{i.code_id}", { :controller => 'issues', :action => 'show', :id => i }, :title => "#{i.subject}" %>:
77 77
	<%=h i.subject.sub(/^(.{30}[^\s]*\s).*$/, '\1 (...)') %></small>
78 78
	</div>
79 79
<% top = top + 20
app/views/projects/list.rhtml (working copy)
9 9
  <tbody>
10 10
<% for project in @projects %>
11 11
  <tr class="<%= cycle("odd", "even") %>">
12
	<td><%= link_to project.name, :action => 'show', :id => project %></td>
12
	<td><%= link_to "#{project.name} (#{project.code})", :action => 'show', :id => project %></td>
13 13
	<td><%=h project.description %></td>
14 14
	<td align="center"><%= format_date(project.created_on) %></td>
15 15
  </tr>
app/views/projects/list_issues.rhtml (working copy)
58 58
	<% for issue in @issues %>
59 59
	<tr class="<%= cycle("odd", "even") %>">
60 60
	    <th style="width:15px;"><%= check_box_tag "issue_ids[]", issue.id, false, :id => "issue_#{issue.id}" %></th>
61
		<td align="center"><%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %></td>
61
		<td align="center"><%= link_to issue.code_id, :controller => 'issues', :action => 'show', :id => issue %></td>
62 62
		<td align="center"><%= issue.tracker.name %></td>
63 63
		<td><div class="square" style="background:#<%= issue.status.html_color %>;"></div> <%= issue.status.name %></td>
64 64
		<td align="center"><%= issue.priority.name %></td>
app/views/projects/roadmap.rhtml (working copy)
48 48
      <% else %>
49 49
        <% issues.each do |issue| %>
50 50
          <li>
51
            <%= link = link_to("#{issue.tracker.name} ##{issue.id}", :controller => 'issues', :action => 'show', :id => issue)
51
            <%= link = link_to("#{issue.tracker.name} #{issue.code_id}", :controller => 'issues', :action => 'show', :id => issue)
52 52
                       issue.status.is_closed? ? content_tag("del", link) : link %>
53 53
            : <%=h issue.subject %>
54 54
            <%= content_tag "em", "(#{l(:label_closed_issues)})" if issue.status.is_closed? %>
app/views/projects/search.rhtml (working copy)
24 24
      <% @results.each do |e| %>
25 25
        <li><p>
26 26
        <% if e.is_a? Issue %>
27
            <%= link_to "#{e.tracker.name} ##{e.id}", :controller => 'issues', :action => 'show', :id => e %>: <%= highlight_tokens(h(e.subject), @tokens) %><br />
27
            <%= link_to "#{e.tracker.name} #{e.code_id}", :controller => 'issues', :action => 'show', :id => e %>: <%= highlight_tokens(h(e.subject), @tokens) %><br />
28 28
            <%= highlight_tokens(e.description, @tokens) %><br />
29 29
            <i><%= e.author.name %>, <%= format_time(e.created_on) %></i>
30 30
        <% elsif e.is_a? News %>
app/views/timelog/details.rhtml (working copy)
5 5
<h2><%= l(:label_spent_time) %></h2>
6 6

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

  
10 10
<h3 class="textright"><%= l(:label_total) %>: <%= lwr(:label_f_hour, @total_hours) %></h3>
11 11

  
......
29 29
<td align="center">
30 30
    <% if entry.issue %>
31 31
    <div class="tooltip">
32
    <%= link_to "#{entry.issue.tracker.name} ##{entry.issue.id}", {:action => 'details', :issue_id => entry.issue } %>
32
    <%= link_to "#{entry.issue.tracker.name} #{entry.issue.code_id}", {:action => 'details', :issue_id => entry.issue } %>
33 33
    <span class="tip">
34 34
    <%= render :partial => "issues/tooltip", :locals => { :issue => entry.issue }%>
35 35
    </span>		
app/views/timelog/edit.rhtml (working copy)
4 4
<%= error_messages_for 'time_entry' %>
5 5

  
6 6
<div class="box">
7
<p><%= f.text_field :issue_id, :size => 6 %> <em><%= h("#{@time_entry.issue.tracker.name} ##{@time_entry.issue.id}: #{@time_entry.issue.subject}") if @time_entry.issue %></em></p>
7
<p><%= f.text_field :issue_id, :size => 6 %> <em><%= h("#{@time_entry.issue.tracker.name} #{@time_entry.issue.code_id}: #{@time_entry.issue.subject}") if @time_entry.issue %></em></p>
8 8
<p><%= f.text_field :spent_on, :size => 10, :required => true %><%= calendar_for('time_entry_spent_on') %></p>
9 9
<p><%= f.text_field :hours, :size => 6, :required => true %></p>
10 10
<p><%= f.text_field :comment, :size => 100 %></p>
config/database.yml (working copy)
17 17
  adapter: mysql
18 18
  database: redmine_development
19 19
  host: localhost
20
  username: root
21
  password:
20
  username: redmine
21
  password: redmine
22 22

  
23 23
test:
24 24
  adapter: mysql
db/migrate/037_add_project_code.rb (revision 0)
1
class AddProjectCode < ActiveRecord::Migration
2
  def self.up
3
    add_column :projects, :code, :string, :length => 10, :null => false
4
    add_index :projects, :code, :unique => true, :name => :projects_code
5
  end
6

  
7
  def self.down
8
    remove_column :projects, :code
9
    end
10
end
lang/en.yml (working copy)
74 74
gui_validation_error_plural: %d errors
75 75

  
76 76
field_name: Name
77
field_code: Code
77 78
field_description: Description
78 79
field_summary: Summary
79 80
field_is_required: Required
    (1-1/1)