##// END OF EJS Templates
tables and forms redesign,...
Jean-Philippe Lang -
r19:552d99d664b6
parent child
Show More
@@ -0,0 +1,290
1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2
3 actionview_datehelper_select_day_prefix:
4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
6 actionview_datehelper_select_month_prefix:
7 actionview_datehelper_select_year_prefix:
8 actionview_datehelper_time_in_words_day: 1 day
9 actionview_datehelper_time_in_words_day_plural: %d days
10 actionview_datehelper_time_in_words_hour_about: about an hour
11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 actionview_datehelper_time_in_words_minute: 1 minute
14 actionview_datehelper_time_in_words_minute_half: half a minute
15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 actionview_instancetag_blank_option: Bitte auserwählt
21
22 activerecord_error_inclusion: ist nicht in der Liste eingeschlossen
23 activerecord_error_exclusion: ist reserviert
24 activerecord_error_invalid: ist unzulässig
25 activerecord_error_confirmation: bringt nicht Bestätigung zusammen
26 activerecord_error_accepted: muß angenommen werden
27 activerecord_error_empty: kann nicht leer sein
28 activerecord_error_blank: kann nicht leer sein
29 activerecord_error_too_long: ist zu lang
30 activerecord_error_too_short: ist zu kurz
31 activerecord_error_wrong_length: ist die falsche Länge
32 activerecord_error_taken: ist bereits genommen worden
33 activerecord_error_not_a_number: ist nicht eine Zahl
34
35 general_fmt_age: %d yr
36 general_fmt_age_plural: %d yrs
37 general_fmt_date: %%b %%d, %%Y (%%a)
38 general_fmt_datetime: %%b %%d, %%Y (%%a), %%I:%%M %%p
39 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
40 general_fmt_time: %%I:%%M %%p
41 general_text_No: 'Nein'
42 general_text_Yes: 'Ja'
43 general_text_no: 'nein'
44 general_text_yes: 'ja'
45 general_lang_de: 'Deutsch'
46
47 notice_account_updated: Konto wurde erfolgreich aktualisiert.
48 notice_account_invalid_creditentials: Unzulässiger Benutzer oder Passwort
49 notice_account_password_updated: Passwort wurde erfolgreich aktualisiert.
50 notice_account_wrong_password: Falsches Passwort
51 notice_account_register_done: Konto wurde erfolgreich verursacht.
52 notice_account_unknown_email: Unbekannter Benutzer.
53 notice_can_t_change_password: Dieses Konto verwendet eine externe Authentisierung Quelle. Unmöglich, das Kennwort zu ändern.
54 notice_account_lost_email_sent: Ein email mit Anweisungen, ein neues Kennwort zu wählen ist dir geschickt worden.
55 notice_account_activated: Dein Konto ist aktiviert worden. Du kannst jetzt einloggen.
56 notice_successful_create: Erfolgreiche Kreation.
57 notice_successful_update: Erfolgreiches Update.
58 notice_successful_delete: Erfolgreiche Auslassung.
59 notice_successful_connection: Erfolgreicher Anschluß.
60 notice_file_not_found: Erbetene Akte besteht nicht oder ist gelöscht worden.
61
62 gui_validation_error: 1 Störung
63 gui_validation_error_plural: %d Störungen
64
65 field_name: Name
66 field_description: Beschreibung
67 field_summary: Zusammenfassung
68 field_is_required: Erforderlich
69 field_firstname: Vorname
70 field_lastname: Nachname
71 field_mail: Email
72 field_filename: Datei
73 field_filesize: Grootte
74 field_downloads: Downloads
75 field_author: Autor
76 field_created_on: Angelegt
77 field_updated_on: aktualisiert
78 field_field_format: Format
79 field_is_for_all: Für alle Projekte
80 field_possible_values: Mögliche Werte
81 field_regexp: Regulärer Ausdruck
82 field_min_length: Minimale Länge
83 field_max_length: Maximale Länge
84 field_value: Wert
85 field_category: Kategorie
86 field_title: Títel
87 field_project: Projekt
88 #field_issue: Issue
89 field_status: Status
90 field_notes: Anmerkungen
91 field_is_closed: Problem erledigt
92 #field_is_default: Default status
93 field_html_color: Farbe
94 field_tracker: Tracker
95 field_subject: Thema
96 #field_due_date: Due date
97 field_assigned_to: Zugewiesen an
98 field_priority: Priorität
99 field_fixed_version: Erledigt in Version
100 field_user: Benutzer
101 field_role: Rolle
102 field_homepage: Startseite
103 field_is_public: Öffentlich
104 #field_parent: Subprojekt von
105 field_is_in_chlog: Ansicht der Issues in der Historie
106 field_login: Mitgliedsname
107 field_mail_notification: Mailbenachrichtigung
108 #field_admin: Administrator
109 field_locked: Gesperrt
110 field_last_login_on: Letzte Anmeldung
111 field_language: Sprache
112 field_effective_date: Datum
113 field_password: Passwort
114 field_new_password: Neues Passwort
115 field_password_confirmation: Bestätigung
116 field_version: Version
117 field_type: Typ
118 field_host: Host
119 #field_port: Port
120 #field_account: Account
121 #field_base_dn: Base DN
122 #field_attr_login: Login attribute
123 #field_attr_firstname: Firstname attribute
124 #field_attr_lastname: Lastname attribute
125 #field_attr_mail: Email attribute
126 #field_onthefly: On-the-fly user creation
127
128 label_user: Benutzer
129 label_user_plural: Benutzer
130 label_user_new: Neuer Benutzer
131 label_project: Projekt
132 label_project_new: Neues Projekt
133 label_project_plural: Projekte
134 #label_project_latest: Latest projects
135 #label_issue: Issue
136 #label_issue_new: New issue
137 #label_issue_plural: Issues
138 #label_issue_view_all: View all issues
139 label_document: Dokument
140 label_document_new: Neues Dokument
141 label_document_plural: Dokumente
142 label_role: Rolle
143 label_role_plural: Rollen
144 label_role_new: Neue Rolle
145 label_role_and_permissions: Rollen und Rechte
146 label_member: Mitglied
147 label_member_new: Neues Mitglied
148 label_member_plural: Mitglieder
149 label_tracker: Tracker
150 label_tracker_plural: Tracker
151 label_tracker_new: Neuer Tracker
152 label_workflow: Workflow
153 label_issue_status: Problem Status
154 label_issue_status_plural: Problem Stati
155 label_issue_status_new: Neuer Status
156 label_issue_category: Problem Kategorie
157 label_issue_category_plural: Problem Kategorien
158 label_issue_category_new: Neue Kategorie
159 label_custom_field: Benutzerdefiniertes Feld
160 label_custom_field_plural: Benutzerdefinierte Felder
161 label_custom_field_new: Neues Feld
162 label_enumerations: Enumerationen
163 label_enumeration_new: Neuer Wert
164 label_information: Information
165 label_information_plural: Informationen
166 #label_please_login: Please login
167 label_register: Anmelden
168 label_password_lost: Passwort vergessen
169 label_home: Hauptseite
170 label_my_page: Meine Seite
171 label_my_account: Mein Konto
172 label_my_projects: Meine Projekte
173 label_administration: Administration
174 label_login: Einloggen
175 label_logout: Abmelden
176 label_help: Hilfe
177 label_reported_issues: Gemeldete Issues
178 label_assigned_to_me_issues: Mir zugewiesen
179 label_last_login: Letzte Anmeldung
180 #label_last_updates: Last updated
181 #label_last_updates_plural: %d last updated
182 label_registered_on: Angemeldet am
183 label_activity: Aktivität
184 label_new: Neue
185 label_logged_as: Angemeldet als
186 #label_environment: Environment
187 label_authentication: Authentisierung
188 #label_auth_source: Authentification mode
189 #label_auth_source_new: New authentication mode
190 #label_auth_source_plural: Authentification modes
191 #label_subproject: Subproject
192 #label_subproject_plural: Subprojects
193 label_min_max_length: Min - Max Länge
194 label_list: Liste
195 label_date: Date
196 label_integer: Zahl
197 label_boolean: Boolesch
198 #label_string: String
199 label_text: Text
200 label_attribute: Attribut
201 label_attribute_plural: Attribute
202 #label_download: %d Download
203 #label_download_plural: %d Downloads
204 label_no_data: Nichts anzuzeigen
205 label_change_status: Statuswechsel
206 label_history: Historie
207 label_attachment: Datei
208 label_attachment_new: Neue Datei
209 #label_attachment_delete: Delete file
210 label_attachment_plural: Dateien
211 label_report: Bericht
212 label_report_plural: Berichte
213 #label_news: Neuigkeiten
214 #label_news_new: Add news
215 #label_news_plural: Neuigkeiten
216 label_news_latest: Letzte Neuigkeiten
217 label_news_view_all: Alle Neuigkeiten anzeigen
218 label_change_log: Change log
219 label_settings: Konfiguration
220 label_overview: Übersicht
221 label_version: Version
222 label_version_new: Neue Version
223 label_version_plural: Versionen
224 label_confirmation: Bestätigung
225 #label_export_csv: Export to CSV
226 label_read: Lesen...
227 label_public_projects: Öffentliche Projekte
228 #label_open_issues: Open
229 #label_open_issues_plural: Open
230 #label_closed_issues: Closed
231 #label_closed_issues_plural: Closed
232 label_total: Gesamtzahl
233 label_permissions: Berechtigungen
234 label_current_status: Gegenwärtiger Status
235 label_new_statuses_allowed: Neue Status gewährten
236 label_all: Alle
237 label_none: Kein
238 label_next: Weiter
239 label_previous: Zurück
240 label_used_by: Benutzt von
241
242 button_login: Einloggen
243 button_submit: Einreichen
244 button_save: Speichern
245 button_check_all: Alles auswählen
246 button_uncheck_all: Alles abwählen
247 button_delete: Löschen
248 button_create: Anlegen
249 button_test: Testen
250 button_edit: Bearbeiten
251 button_add: Hinzufügen
252 button_change: Wechseln
253 button_apply: Anwenden
254 button_clear: Zurücksetzen
255 button_lock: Verriegeln
256 button_unlock: Entriegeln
257 button_download: Fernzuladen
258 button_list: Aufzulisten
259 button_view: Siehe
260
261 text_select_mail_notifications: Aktionen für die Mailbenachrichtigung aktiviert werden soll.
262 text_regexp_info: eg. ^[A-Z0-9]+$
263 text_min_max_length_info: 0 heisst keine Beschränkung
264 #text_possible_values_info: values separated with |
265 text_project_destroy_confirmation: Sind sie sicher, daß sie das Projekt löschen wollen ?
266 text_workflow_edit: Auswahl Workflow zum Bearbeiten
267 text_are_you_sure: Sind sie sicher ?
268
269 default_role_manager: Manager
270 default_role_developper: Developer
271 default_role_reporter: Reporter
272 default_tracker_bug: Fehler
273 default_tracker_feature: Feature
274 default_tracker_support: Support
275 default_issue_status_new: Neu
276 default_issue_status_assigned: Zugewiesen
277 default_issue_status_resolved: Gelöst
278 default_issue_status_feedback: Feedback
279 default_issue_status_closed: Erledigt
280 default_issue_status_rejected: Abgewiesen
281 default_doc_category_user: Benutzerdokumentation
282 default_doc_category_tech: Technische Dokumentation
283 default_priority_low: Niedrig
284 default_priority_normal: Normal
285 default_priority_high: Hoch
286 default_priority_urgent: Dringend
287 default_priority_immediate: Sofort
288
289 enumeration_issue_priorities: Issue-Prioritäten
290 enumeration_doc_categories: Dokumentenkategorien
@@ -1,107 +1,150
1 1 # redMine - project management software
2 2 # Copyright (C) 2006 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 module ApplicationHelper
19 19
20 20 # Return current logged in user or nil
21 21 def loggedin?
22 22 @logged_in_user
23 23 end
24 24
25 25 # Return true if user is logged in and is admin, otherwise false
26 26 def admin_loggedin?
27 27 @logged_in_user and @logged_in_user.admin?
28 28 end
29 29
30 30 # Return true if user is authorized for controller/action, otherwise false
31 31 def authorize_for(controller, action)
32 32 # check if action is allowed on public projects
33 33 if @project.is_public? and Permission.allowed_to_public "%s/%s" % [ controller, action ]
34 34 return true
35 35 end
36 36 # check if user is authorized
37 37 if @logged_in_user and (@logged_in_user.admin? or Permission.allowed_to_role( "%s/%s" % [ controller, action ], @logged_in_user.role_for_project(@project.id) ) )
38 38 return true
39 39 end
40 40 return false
41 41 end
42 42
43 43 # Display a link if user is authorized
44 44 def link_to_if_authorized(name, options = {}, html_options = nil, *parameters_for_method_reference)
45 45 link_to(name, options, html_options, *parameters_for_method_reference) if authorize_for(options[:controller], options[:action])
46 46 end
47 47
48 48 # Display a link to user's account page
49 49 def link_to_user(user)
50 50 link_to user.display_name, :controller => 'account', :action => 'show', :id => user
51 51 end
52 52
53 53 def format_date(date)
54 54 l_date(date) if date
55 55 end
56 56
57 57 def format_time(time)
58 58 l_datetime(time) if time
59 59 end
60 60
61 61 def pagination_links_full(paginator, options={}, html_options={})
62 62 html =''
63 63 html << link_to(('&#171; ' + l(:label_previous) ), { :page => paginator.current.previous }) + ' ' if paginator.current.previous
64 64 html << (pagination_links(paginator, options, html_options) || '')
65 65 html << ' ' + link_to((l(:label_next) + ' &#187;'), { :page => paginator.current.next }) if paginator.current.next
66 66 html
67 67 end
68 68
69 69 def error_messages_for(object_name, options = {})
70 70 options = options.symbolize_keys
71 71 object = instance_variable_get("@#{object_name}")
72 72 if object && !object.errors.empty?
73 73 # build full_messages here with controller current language
74 74 full_messages = []
75 75 object.errors.each do |attr, msg|
76 76 next if msg.nil?
77 77 if attr == "base"
78 78 full_messages << l(msg)
79 79 else
80 80 full_messages << "&#171; " + (l_has_string?("field_" + attr) ? l("field_" + attr) : object.class.human_attribute_name(attr)) + " &#187; " + l(msg) unless attr == "custom_values"
81 81 end
82 82 end
83 83 # retrieve custom values error messages
84 84 if object.errors[:custom_values]
85 85 object.custom_values.each do |v|
86 86 v.errors.each do |attr, msg|
87 87 next if msg.nil?
88 88 full_messages << "&#171; " + v.custom_field.name + " &#187; " + l(msg)
89 89 end
90 90 end
91 91 end
92 92 content_tag("div",
93 93 content_tag(
94 94 options[:header_tag] || "h2", lwr(:gui_validation_error, full_messages.length) + " :"
95 95 ) +
96 96 content_tag("ul", full_messages.collect { |msg| content_tag("li", msg) }),
97 97 "id" => options[:id] || "errorExplanation", "class" => options[:class] || "errorExplanation"
98 98 )
99 99 else
100 100 ""
101 101 end
102 102 end
103 103
104 104 def lang_options_for_select
105 105 (GLoc.valid_languages.sort {|x,y| x.to_s <=> y.to_s }).collect {|lang| [ l_lang_name(lang.to_s, lang), lang.to_s]}
106 106 end
107
108 def label_tag_for(name, option_tags = nil, options = {})
109 label_text = l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) + (options.delete(:required) ? @template.content_tag("span", " *", :class => "required"): "")
110 content_tag("label", label_text)
111 end
112
113 def labelled_tabular_form_for(name, object, options, &proc)
114 options[:html] ||= {}
115 options[:html].store :class, "tabular"
116 form_for(name, object, options.merge({ :builder => TabularFormBuilder, :lang => current_language}), &proc)
117 end
107 118 end
119
120 class TabularFormBuilder < ActionView::Helpers::FormBuilder
121 include GLoc
122
123 def initialize(object_name, object, template, options, proc)
124 set_language_if_valid options.delete(:lang)
125 @object_name, @object, @template, @options, @proc = object_name, object, template, options, proc
126 end
127
128 (field_helpers - %w(radio_button) + %w(date_select)).each do |selector|
129 src = <<-END_SRC
130 def #{selector}(field, options = {})
131 label_text = l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) + (options.delete(:required) ? @template.content_tag("span", " *", :class => "required"): "")
132 label = @template.content_tag("label", label_text,
133 :class => (@object.errors[field] ? "error" : nil),
134 :for => (@object_name.to_s + "_" + field.to_s))
135 label + super
136 end
137 END_SRC
138 class_eval src, __FILE__, __LINE__
139 end
140
141 def select(field, choices, options = {})
142 label_text = l(("field_"+field.to_s.gsub(/\_id$/, "")).to_sym) + (options.delete(:required) ? @template.content_tag("span", " *", :class => "required"): "")
143 label = @template.content_tag("label", label_text,
144 :class => (@object.errors[field] ? "error" : nil),
145 :for => (@object_name.to_s + "_" + field.to_s))
146 label + super
147 end
148
149 end
150
@@ -1,70 +1,65
1 1 # redMine - project management software
2 2 # Copyright (C) 2006 Jean-Philippe Lang
3 3 #
4 4 # This program is free software; you can redistribute it and/or
5 5 # modify it under the terms of the GNU General Public License
6 6 # as published by the Free Software Foundation; either version 2
7 7 # of the License, or (at your option) any later version.
8 8 #
9 9 # This program is distributed in the hope that it will be useful,
10 10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 12 # GNU General Public License for more details.
13 13 #
14 14 # You should have received a copy of the GNU General Public License
15 15 # along with this program; if not, write to the Free Software
16 16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 17
18 18 module CustomFieldsHelper
19 19
20 20 # Return custom field html tag corresponding to its format
21 21 def custom_field_tag(custom_value)
22 22 custom_field = custom_value.custom_field
23 23 field_name = "custom_fields[#{custom_field.id}]"
24 24 field_id = "custom_fields_#{custom_field.id}"
25 25
26 26 case custom_field.field_format
27 27 when "string", "int", "date"
28 28 text_field 'custom_value', 'value', :name => field_name, :id => field_id
29 29 when "text"
30 30 text_area 'custom_value', 'value', :name => field_name, :id => field_id, :cols => 60, :rows => 3
31 31 when "bool"
32 32 check_box 'custom_value', 'value', :name => field_name, :id => field_id
33 33 when "list"
34 34 select 'custom_value', 'value', custom_field.possible_values.split('|'), { :include_blank => true }, :name => field_name, :id => field_id
35 35 end
36 36 end
37 37
38 38 # Return custom field label tag
39 39 def custom_field_label_tag(custom_value)
40 40 content_tag "label", custom_value.custom_field.name +
41 41 (custom_value.custom_field.is_required? ? " <span class=\"required\">*</span>" : ""),
42 :for => "custom_fields_#{custom_value.custom_field.id}"
42 :for => "custom_fields_#{custom_value.custom_field.id}",
43 :class => (custom_value.errors.empty? ? nil : "error" )
43 44 end
44 45
45 46 # Return custom field tag with its label tag
46 47 def custom_field_tag_with_label(custom_value)
47 case custom_value.custom_field.field_format
48 when "bool"
49 # label is displayed inline after the checkbox
50 custom_field_tag(custom_value) + " " + custom_field_label_tag(custom_value)
51 else
52 custom_field_label_tag(custom_value) + "<br />" + custom_field_tag(custom_value)
53 end
48 custom_field_label_tag(custom_value) + custom_field_tag(custom_value)
54 49 end
55 50
56 51 # Return a string used to display a custom value
57 52 def show_value(custom_value)
58 53 case custom_value.custom_field.field_format
59 54 when "bool"
60 55 l_YesNo(custom_value.value == "1")
61 56 else
62 57 custom_value.value
63 58 end
64 59 end
65 60
66 61 # Return an array of custom field formats which can be used in select_tag
67 62 def custom_field_formats_for_select
68 63 CustomField::FIELD_FORMATS.keys.collect { |k| [ l(CustomField::FIELD_FORMATS[k]), k ] }
69 64 end
70 65 end
@@ -1,25 +1,18
1 1 <center>
2 2 <div class="box login">
3 3 <h2><%= image_tag 'login' %>&nbsp;&nbsp;<%=l(:label_please_login)%></h2>
4 4
5 <%= start_form_tag :action=> "login" %>
6 <table cellpadding="4">
7 <tr>
8 <td><label for="login"><%=l(:field_login)%>:</label></td>
9 <td><%= text_field_tag 'login', nil, :size => 25 %></td>
10 </tr>
11 <tr>
12 <td><label for="password"><%=l(:field_password)%>:</label></td>
13 <td><%= password_field_tag 'password', nil, :size => 25 %></td>
14 </tr>
15 </table>
5 <%= start_form_tag({:action=> "login"}, :class => "tabular") %>
6 <p><label for="login"><%=l(:field_login)%>:</label>
7 <%= text_field_tag 'login', nil, :size => 25 %></p>
16 8
17 &nbsp;
18
19 <p><center><input type="submit" name="login" value="<%=l(:button_login)%> &#187;" class="primary" /></center></p>
9 <p><label for="password"><%=l(:field_password)%>:</label>
10 <%= password_field_tag 'password', nil, :size => 25 %></p>
11
12 <p><center><input type="submit" name="login" value="<%=l(:button_login)%> &#187;" class="primary" /></center>
20 13 <%= end_form_tag %>
21 <br />
22 <% unless $RDM_SELF_REGISTRATION == false %><%= link_to l(:label_register), :action => 'register' %> |<% end %>
23 <%= link_to l(:label_password_lost), :action => 'lost_password' %>
14
15 <br><% unless $RDM_SELF_REGISTRATION == false %><%= link_to l(:label_register), :action => 'register' %> |<% end %>
16 <%= link_to l(:label_password_lost), :action => 'lost_password' %></p>
24 17 </div>
25 18 </center> No newline at end of file
@@ -1,14 +1,14
1 1 <center>
2 2 <div class="box login">
3 3 <h2><%=l(:label_password_lost)%></h2>
4 4
5 <%= start_form_tag %>
5 <%= start_form_tag({:action=> "lost_password"}, :class => "tabular") %>
6 6
7 <p><label for="mail"><%=l(:field_mail)%> <span class="required">*</span></label><br/>
7 <p><label for="mail"><%=l(:field_mail)%> <span class="required">*</span></label>
8 8 <%= text_field_tag 'mail', nil, :size => 40 %></p>
9 9
10 10 <p><center><%= submit_tag l(:button_submit) %></center></p>
11 11
12 12 <%= end_form_tag %>
13 13 </div>
14 14 </center> No newline at end of file
@@ -1,57 +1,54
1 1 <h2><%=l(:label_my_account)%></h2>
2 2
3 3 <p><%=l(:field_login)%>: <strong><%= @user.login %></strong><br />
4 4 <%=l(:field_created_on)%>: <%= format_time(@user.created_on) %>,
5 5 <%=l(:field_updated_on)%>: <%= format_time(@user.updated_on) %></p>
6 6
7 7 <%= error_messages_for 'user' %>
8 8
9 <div class="splitcontentleft">
10 9 <div class="box">
11 10 <h3><%=l(:label_information_plural)%></h3>
12 11
13 <%= start_form_tag :action => 'my_account' %>
12 <%= start_form_tag({:action => 'my_account'}, :class => "tabular") %>
14 13
15 14 <!--[form:user]-->
16 <p><label for="user_firstname"><%=l(:field_firstname)%> <span class="required">*</span></label><br/>
15 <p><label for="user_firstname"><%=l(:field_firstname)%> <span class="required">*</span></label>
17 16 <%= text_field 'user', 'firstname' %></p>
18 17
19 <p><label for="user_lastname"><%=l(:field_lastname)%> <span class="required">*</span></label><br/>
18 <p><label for="user_lastname"><%=l(:field_lastname)%> <span class="required">*</span></label>
20 19 <%= text_field 'user', 'lastname' %></p>
21 20
22 <p><label for="user_mail"><%=l(:field_mail)%> <span class="required">*</span></label><br/>
21 <p><label for="user_mail"><%=l(:field_mail)%> <span class="required">*</span></label>
23 22 <%= text_field 'user', 'mail', :size => 40 %></p>
24 23
25 <p><label for="user_language"><%=l(:field_language)%></label><br/>
24 <p><label for="user_language"><%=l(:field_language)%></label>
26 25 <%= select("user", "language", lang_options_for_select) %></p>
27 26 <!--[eoform:user]-->
28 27
29 <p><%= check_box 'user', 'mail_notification' %> <label for="user_mail_notification"><%=l(:field_mail_notification)%></label></p>
28 <p><label for="user_mail_notification"><%=l(:field_mail_notification)%></label>
29 <%= check_box 'user', 'mail_notification' %></p>
30 30
31 31 <center><%= submit_tag l(:button_save) %></center>
32 32 <%= end_form_tag %>
33 33 </div>
34 </div>
35 34
36
37 <div class="splitcontentright">
35
38 36 <% unless @user.auth_source_id %>
39 37 <div class="box">
40 38 <h3><%=l(:field_password)%></h3>
41 39
42 <%= start_form_tag :action => 'change_password' %>
40 <%= start_form_tag({:action => 'change_password'}, :class => "tabular") %>
43 41
44 <p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label><br/>
42 <p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label>
45 43 <%= password_field_tag 'password', nil, :size => 25 %></p>
46 44
47 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label><br/>
45 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label>
48 46 <%= password_field_tag 'new_password', nil, :size => 25 %></p>
49 47
50 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label><br/>
48 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
51 49 <%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p>
52 50
53 51 <center><%= submit_tag l(:button_save) %></center>
54 52 <%= end_form_tag %>
55 53 </div>
56 54 <% end %>
57 </div> No newline at end of file
@@ -1,21 +1,21
1 1 <center>
2 2 <div class="box login">
3 3 <h2><%=l(:label_password_lost)%></h2>
4 4
5 5 <p><%=l(:field_login)%>: <strong><%= @user.login %></strong><br />
6 6
7 7 <%= error_messages_for 'user' %>
8 8
9 <%= start_form_tag :token => @token.value %>
9 <%= start_form_tag({:token => @token.value}, :class => "tabular") %>
10 10
11 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label><br/>
11 <p><label for="new_password"><%=l(:field_new_password)%> <span class="required">*</span></label>
12 12 <%= password_field_tag 'new_password', nil, :size => 25 %></p>
13 13
14 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label><br/>
14 <p><label for="new_password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
15 15 <%= password_field_tag 'new_password_confirmation', nil, :size => 25 %></p>
16 16
17 17 <p><center><%= submit_tag l(:button_save) %></center></p>
18 18 <%= end_form_tag %>
19 19
20 20 </div>
21 21 </center> No newline at end of file
@@ -1,38 +1,39
1 1 <h2><%=l(:label_register)%></h2>
2 2
3 <%= start_form_tag %>
3 <%= start_form_tag({:action => 'register'}, :class => "tabular") %>
4 4 <%= error_messages_for 'user' %>
5 5
6 6 <div class="box">
7 7 <!--[form:user]-->
8 <p><label for="user_login"><%=l(:field_login)%></label> <span class="required">*</span><br/>
8 <p><label for="user_login"><%=l(:field_login)%> <span class="required">*</span></label>
9 9 <%= text_field 'user', 'login', :size => 25 %></p>
10 10
11 <p><label for="password"><%=l(:field_password)%></label> <span class="required">*</span><br/>
11 <p><label for="password"><%=l(:field_password)%> <span class="required">*</span></label>
12 12 <%= password_field_tag 'password', nil, :size => 25 %></p>
13 13
14 <p><label for="password_confirmation"><%=l(:field_password_confirmation)%></label> <span class="required">*</span><br/>
14 <p><label for="password_confirmation"><%=l(:field_password_confirmation)%> <span class="required">*</span></label>
15 15 <%= password_field_tag 'password_confirmation', nil, :size => 25 %></p>
16 16
17 <p><label for="user_firstname"><%=l(:field_firstname)%></label> <span class="required">*</span><br/>
17 <p><label for="user_firstname"><%=l(:field_firstname)%> <span class="required">*</span></label>
18 18 <%= text_field 'user', 'firstname' %></p>
19 19
20 <p><label for="user_lastname"><%=l(:field_lastname)%></label> <span class="required">*</span><br/>
20 <p><label for="user_lastname"><%=l(:field_lastname)%> <span class="required">*</span></label>
21 21 <%= text_field 'user', 'lastname' %></p>
22 22
23 <p><label for="user_mail"><%=l(:field_mail)%></label> <span class="required">*</span><br/>
23 <p><label for="user_mail"><%=l(:field_mail)%> <span class="required">*</span></label>
24 24 <%= text_field 'user', 'mail' %></p>
25 25
26 <p><label for="user_language"><%=l(:field_language)%></label><br/>
26 <p><label for="user_language"><%=l(:field_language)%></label>
27 27 <%= select("user", "language", lang_options_for_select) %></p>
28 28
29 29 <% for @custom_value in @custom_values %>
30 30 <p><%= custom_field_tag_with_label @custom_value %></p>
31 31 <% end %>
32 32
33 <p><%= check_box 'user', 'mail_notification' %> <label for="user_mail_notification"><%=l(:field_mail_notification)%></label></p>
33 <p><label for="user_mail_notification"><%=l(:field_mail_notification)%></label>
34 <%= check_box 'user', 'mail_notification' %></p>
34 35 <!--[eoform:user]-->
35 36 </div>
36 37
37 38 <%= submit_tag l(:button_submit) %>
38 39 <%= end_form_tag %>
@@ -1,32 +1,30
1 1 <h2><%=l(:label_project_plural)%></h2>
2 2
3 <table width="100%" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <%= sort_header_tag('name', :caption => l(:label_project)) %>
6 6 <th><%=l(:field_description)%></th>
7 7 <th><%=l(:field_is_public)%></th>
8 8 <th><%=l(:label_subproject_plural)%></th>
9 9 <%= sort_header_tag('created_on', :caption => l(:field_created_on)) %>
10 10 <th></th>
11 11 </tr>
12 12
13 13 <% for project in @projects %>
14 14 <tr class="<%= cycle("odd", "even") %>">
15 15 <td><%= link_to project.name, :controller => 'projects', :action => 'settings', :id => project %>
16 16 <td><%= project.description %>
17 17 <td align="center"><%= image_tag 'true' if project.is_public? %>
18 18 <td align="center"><%= project.projects_count %>
19 19 <td align="center"><%= format_date(project.created_on) %>
20 <td align="center">
21 <%= start_form_tag({:controller => 'projects', :action => 'destroy', :id => project}) %>
22 <%= submit_tag l(:button_delete), :class => "button-small" %>
23 <%= end_form_tag %>
20 <td align="center">
21 <%= button_to l(:button_delete), { :controller => 'projects', :action => 'destroy', :id => project }, :class => "button-small" %>
24 22 </td>
25 23 </tr>
26 24 <% end %>
27 25 </table>
28 26
29 27 <p><%= pagination_links_full @project_pages %>
30 28 [ <%= @project_pages.current.first_item %> - <%= @project_pages.current.last_item %> / <%= @project_count %> ]</p>
31 29
32 30 <p><%= link_to ('&#187; ' + l(:label_project_new)), :controller => 'projects', :action => 'add' %></p> No newline at end of file
@@ -1,49 +1,45
1 1 <%= error_messages_for 'auth_source' %>
2 2
3 3 <div class="box">
4 4 <!--[form:auth_source]-->
5 <p><label for="auth_source_name"><%=l(:field_name)%></label> <span class="required">*</span><br/>
5 <p><label for="auth_source_name"><%=l(:field_name)%> <span class="required">*</span></label>
6 6 <%= text_field 'auth_source', 'name' %></p>
7 7
8 <p><label for="auth_source_host"><%=l(:field_host)%></label> <span class="required">*</span><br/>
8 <p><label for="auth_source_host"><%=l(:field_host)%> <span class="required">*</span></label>
9 9 <%= text_field 'auth_source', 'host' %></p>
10 10
11 <p><label for="auth_source_port"><%=l(:field_port)%></label> <span class="required">*</span><br/>
11 <p><label for="auth_source_port"><%=l(:field_port)%> <span class="required">*</span></label>
12 12 <%= text_field 'auth_source', 'port', :size => 6 %></p>
13 13
14 <p><label for="auth_source_account"><%=l(:field_account)%></label><br/>
14 <p><label for="auth_source_account"><%=l(:field_account)%></label>
15 15 <%= text_field 'auth_source', 'account' %></p>
16 16
17 <p><label for="auth_source_account_password"><%=l(:field_password)%></label><br/>
17 <p><label for="auth_source_account_password"><%=l(:field_password)%></label>
18 18 <%= password_field 'auth_source', 'account_password' %></p>
19 19
20 <p><label for="auth_source_base_dn"><%=l(:field_base_dn)%></label> <span class="required">*</span><br/>
20 <p><label for="auth_source_base_dn"><%=l(:field_base_dn)%> <span class="required">*</span></label>
21 21 <%= text_field 'auth_source', 'base_dn', :size => 60 %></p>
22 </div>
22 23
23 <p><%= check_box 'auth_source', 'onthefly_register' %>
24 <label for="auth_source_onthefly_register"><%=l(:field_onthefly)%></label></p>
24 <div class="box">
25 <p><label for="auth_source_onthefly_register"><%=l(:field_onthefly)%></label>
26 <%= check_box 'auth_source', 'onthefly_register' %></p>
25 27
28 <p>
26 29 <fieldset><legend><%=l(:label_attribute_plural)%></legend>
27 <div style="float:left;margin-right:10px;">
28 <p><label for="auth_source_attr_login"><%=l(:field_login)%></label> <span class="required">*</span><br/>
30 <p><label for="auth_source_attr_login"><%=l(:field_login)%> <span class="required">*</span></label>
29 31 <%= text_field 'auth_source', 'attr_login', :size => 20 %></p>
30 </div>
31 32
32 <div style="float:left;margin-right:10px;">
33 <p><label for="auth_source_attr_firstname"><%=l(:field_firstname)%></label><br/>
33 <p><label for="auth_source_attr_firstname"><%=l(:field_firstname)%></label>
34 34 <%= text_field 'auth_source', 'attr_firstname', :size => 20 %></p>
35 </div>
36 35
37 <div style="float:left;margin-right:10px;">
38 <p><label for="auth_source_attr_lastname"><%=l(:field_lastname)%></label><br/>
36 <p><label for="auth_source_attr_lastname"><%=l(:field_lastname)%></label>
39 37 <%= text_field 'auth_source', 'attr_lastname', :size => 20 %></p>
40 </div>
41 38
42 <div>
43 <p><label for="auth_source_attr_mail"><%=l(:field_mail)%></label><br/>
39 <p><label for="auth_source_attr_mail"><%=l(:field_mail)%></label>
44 40 <%= text_field 'auth_source', 'attr_mail', :size => 20 %></p>
45 </div>
46 41 </fieldset>
47
48 <!--[eoform:auth_source]-->
42 </p>
49 43 </div>
44 <!--[eoform:auth_source]-->
45
@@ -1,7 +1,7
1 1 <h2><%=l(:label_auth_source)%> (<%= @auth_source.auth_method_name %>)</h2>
2 2
3 <%= start_form_tag :action => 'update', :id => @auth_source %>
3 <%= start_form_tag({:action => 'update', :id => @auth_source}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_save) %>
6 6 <%= end_form_tag %>
7 7
@@ -1,32 +1,30
1 1 <h2><%=l(:label_auth_source_plural)%></h2>
2 2
3 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <td><%=l(:field_name)%></td>
6 6 <td><%=l(:field_type)%></td>
7 7 <td><%=l(:field_host)%></td>
8 8 <td></td>
9 9 <td></td>
10 10 </tr>
11 11
12 12 <% for source in @auth_sources %>
13 13 <tr class="<%= cycle("odd", "even") %>">
14 14 <td><%= link_to source.name, :action => 'edit', :id => source%></td>
15 15 <td align="center"><%= source.auth_method_name %></td>
16 16 <td align="center"><%= source.host %></td>
17 17 <td align="center">
18 18 <%= link_to l(:button_test), :action => 'test_connection', :id => source %>
19 19 </td>
20 20 <td align="center">
21 <%= start_form_tag :action => 'destroy', :id => source %>
22 <%= submit_tag l(:button_delete), :class => "button-small" %>
23 <%= end_form_tag %>
21 <%= button_to l(:button_delete), { :action => 'destroy', :id => source }, :confirm => l(:text_are_you_sure), :class => "button-small" %>
24 22 </td>
25 23 </tr>
26 24 <% end %>
27 25 </table>
28 26
29 27 <%= pagination_links_full @auth_source_pages %>
30 28 <br />
31 29 <%= link_to '&#187; ' + l(:label_auth_source_new), :action => 'new' %>
32 30
@@ -1,6 +1,6
1 1 <h2><%=l(:label_auth_source_new)%> (<%= @auth_source.auth_method_name %>)</h2>
2 2
3 <%= start_form_tag :action => 'create' %>
3 <%= start_form_tag({:action => 'create'}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_create) %>
6 6 <%= end_form_tag %>
@@ -1,53 +1,52
1 1 <%= error_messages_for 'custom_field' %>
2 2
3 3 <!--[form:custom_field]-->
4 4 <div class="box">
5 <p><label for="custom_field_name"><%=l(:field_name)%></label> <span class="required">*</span><br/>
5 <p><label for="custom_field_name"><%=l(:field_name)%><span class="required"> *</span></label>
6 6 <%= text_field 'custom_field', 'name' %></p>
7 7
8 <p><label for="custom_field_typ"><%=l(:field_field_format)%></label><br/>
8 <p><label for="custom_field_field_format"><%=l(:field_field_format)%></label>
9 9 <%= select("custom_field", "field_format", custom_field_formats_for_select) %></p>
10 10
11 <p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label> (<%=l(:text_min_max_length_info)%>)<br/>
11 <p><label for="custom_field_min_length"><%=l(:label_min_max_length)%></label>
12 12 <%= text_field 'custom_field', 'min_length', :size => 5 %> -
13 <%= text_field 'custom_field', 'max_length', :size => 5 %></p>
13 <%= text_field 'custom_field', 'max_length', :size => 5 %><br>(<%=l(:text_min_max_length_info)%>)</p>
14 14
15 <p><label for="custom_field_regexp"><%=l(:field_regexp)%></label> (<%=l(:text_regexp_info)%>)<br/>
16 <%= text_field 'custom_field', 'regexp', :size => 50 %></p>
15 <p><label for="custom_field_regexp"><%=l(:field_regexp)%></label>
16 <%= text_field 'custom_field', 'regexp', :size => 50 %><br>(<%=l(:text_regexp_info)%>)</p>
17 17
18 <p><label for="custom_field_possible_values"><%=l(:field_possible_values)%></label> (<%=l(:text_possible_values_info)%>)<br/>
19 <%= text_area 'custom_field', 'possible_values', :rows => 5, :cols => 60 %></p>
18 <p><label for="custom_field_possible_values"><%=l(:field_possible_values)%></label>
19 <%= text_area 'custom_field', 'possible_values', :rows => 5, :cols => 60 %><br>(<%=l(:text_possible_values_info)%>)</p>
20 20 </div>
21 21 <!--[eoform:custom_field]-->
22 22
23 23 <div class="box">
24 24 <% case type.to_s
25 25 when "IssueCustomField" %>
26 26
27 27 <fieldset><legend><%=l(:label_tracker_plural)%></legend>
28 28 <% for tracker in @trackers %>
29 29 <input type="checkbox"
30 30 name="tracker_ids[]"
31 31 value="<%= tracker.id %>"
32 32 <%if @custom_field.trackers.include? tracker%>checked="checked"<%end%>
33 33 > <%= tracker.name %>
34 34 <% end %></fieldset>
35 35 &nbsp;
36 36
37 <p><%= check_box 'custom_field', 'is_required' %>
38 <label for="custom_field_is_required"><%=l(:field_is_required)%></label></p>
37 <p><label for="custom_field_is_required"><%=l(:field_is_required)%></label>
38 <%= check_box 'custom_field', 'is_required' %></p>
39 39
40 <p><%= check_box 'custom_field', 'is_for_all' %>
41 <label for="custom_field_is_for_all"><%=l(:field_is_for_all)%></label></p>
40 <p><label for="custom_field_is_for_all"><%=l(:field_is_for_all)%></label>
41 <%= check_box 'custom_field', 'is_for_all' %></p>
42 42
43 43 <% when "UserCustomField" %>
44 <p><%= check_box 'custom_field', 'is_required' %>
45 <label for="custom_field_is_required"><%=l(:field_is_required)%></label></p>
44 <p><label for="custom_field_is_required"><%=l(:field_is_required)%></label>
45 <%= check_box 'custom_field', 'is_required' %></p>
46 46
47 47 <% when "ProjectCustomField" %>
48 <p><%= check_box 'custom_field', 'is_required' %>
49 <label for="custom_field_is_required"><%=l(:field_is_required)%></label></p>
50
48 <p><label for="custom_field_is_required"><%=l(:field_is_required)%></label>
49 <%= check_box 'custom_field', 'is_required' %></p>
51 50
52 51 <% end %>
53 52 </div>
@@ -1,6 +1,6
1 1 <h2><%=l(:label_custom_field)%> (<%=l(@custom_field.type_name)%>)</h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @custom_field %>
3 <%= start_form_tag({:action => 'edit', :id => @custom_field}, :class => "tabular") %>
4 4 <%= render :partial => 'form', :locals => { :type => @custom_field.type } %>
5 5 <%= submit_tag l(:button_save) %>
6 6 <%= end_form_tag %>
@@ -1,37 +1,36
1 1 <h2><%=l(:label_custom_field_plural)%></h2>
2 2
3 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <th><%=l(:field_name)%></th>
6 6 <th><%=l(:field_type)%></th>
7 7 <th><%=l(:field_field_format)%></th>
8 8 <th><%=l(:field_is_required)%></th>
9 9 <th><%=l(:field_is_for_all)%></th>
10 10 <th><%=l(:label_used_by)%></th>
11 11 <th></th>
12 12 </tr>
13 13 <% for custom_field in @custom_fields %>
14 14 <tr class="<%= cycle("odd", "even") %>">
15 15 <td><%= link_to custom_field.name, :action => 'edit', :id => custom_field %></td>
16 16 <td align="center"><%= l(custom_field.type_name) %></td>
17 17 <td align="center"><%= l(CustomField::FIELD_FORMATS[custom_field.field_format]) %></td>
18 18 <td align="center"><%= image_tag 'true' if custom_field.is_required? %></td>
19 19 <td align="center"><%= image_tag 'true' if custom_field.is_for_all? %></td>
20 20 <td align="center"><%= custom_field.projects.count.to_s + ' ' + lwr(:label_project, custom_field.projects.count) if custom_field.is_a? IssueCustomField and !custom_field.is_for_all? %></td>
21 21 <td align="center">
22 <%= start_form_tag :action => 'destroy', :id => custom_field %>
23 <%= submit_tag l(:button_delete), :class => "button-small" %>
24 <%= end_form_tag %> </td>
22 <%= button_to l(:button_delete), { :action => 'destroy', :id => custom_field }, :confirm => l(:text_are_you_sure), :class => "button-small" %>
23 </td>
25 24 </tr>
26 25 <% end %>
27 26 </table>
28 27
29 28 <%= pagination_links_full @custom_field_pages %>
30 29
31 30 <br />
32 31 <%=l(:label_custom_field_new)%>:
33 32 <ul>
34 33 <li><%= link_to l(:label_issue_plural), :action => 'new', :type => 'IssueCustomField' %></li>
35 34 <li><%= link_to l(:label_project_plural), :action => 'new', :type => 'ProjectCustomField' %></li>
36 35 <li><%= link_to l(:label_user_plural), :action => 'new', :type => 'UserCustomField' %></li>
37 36 </ul>
@@ -1,8 +1,8
1 1 <h2><%=l(:label_custom_field_new)%> (<%=l(@custom_field.type_name)%>)</h2>
2 2
3 <%= start_form_tag :action => 'new' %>
3 <%= start_form_tag({:action => 'new'}, :class => "tabular") %>
4 4 <%= render :partial => 'form', :locals => { :type => @custom_field.type } %>
5 5 <%= hidden_field_tag 'type', @custom_field.type %>
6 6 <%= submit_tag l(:button_save) %>
7 7 <%= end_form_tag %>
8 8
@@ -1,15 +1,15
1 1 <%= error_messages_for 'document' %>
2
2 <div class="box">
3 3 <!--[form:document]-->
4 <p><label for="document_category_id"><%=l(:field_category)%></label><br />
4 <p><label for="document_category_id"><%=l(:field_category)%></label>
5 5 <select name="document[category_id]">
6 6 <%= options_from_collection_for_select @categories, "id", "name", @document.category_id %>
7 7 </select></p>
8 8
9 <p><label for="document_title"><%=l(:field_title)%> <span class="required">*</span></label><br />
9 <p><label for="document_title"><%=l(:field_title)%> <span class="required">*</span></label>
10 10 <%= text_field 'document', 'title', :size => 60 %></p>
11 11
12 <p><label for="document_description"><%=l(:field_description)%></label><br />
12 <p><label for="document_description"><%=l(:field_description)%></label>
13 13 <%= text_area 'document', 'description', :cols => 60, :rows => 5 %></p>
14 14 <!--[eoform:document]-->
15
15 </div> No newline at end of file
@@ -1,8 +1,8
1 1 <h2><%=l(:label_document)%></h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @document %>
3 <%= start_form_tag({:action => 'edit', :id => @document}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_save) %>
6 6 <%= end_form_tag %>
7 7
8 8
@@ -1,9 +1,9
1 1 <%= error_messages_for 'enumeration' %>
2
2 <div class="box">
3 3 <!--[form:optvalue]-->
4 4 <%= hidden_field 'enumeration', 'opt' %>
5 5
6 <p><label for="enumeration_name"><%=l(:field_name)%></label><br/>
6 <p><label for="enumeration_name"><%=l(:field_name)%></label>
7 7 <%= text_field 'enumeration', 'name' %></p>
8 8 <!--[eoform:optvalue]-->
9
9 </div> No newline at end of file
@@ -1,10 +1,10
1 1 <h2><%=l(:label_enumerations)%></h2>
2 2
3 <%= start_form_tag :action => 'update', :id => @enumeration %>
3 <%= start_form_tag({:action => 'update', :id => @enumeration}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_save) %>
6 6 <%= end_form_tag %>
7 7
8 8 <%= start_form_tag :action => 'destroy', :id => @enumeration %>
9 9 <%= submit_tag l(:button_delete) %>
10 10 <%= end_form_tag %> No newline at end of file
@@ -1,6 +1,6
1 1 <h2><%=l(:label_enumeration_new)%></h2>
2 2
3 <%= start_form_tag :action => 'create' %>
3 <%= start_form_tag({:action => 'create'}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_create) %>
6 6 <%= end_form_tag %>
@@ -1,7 +1,7
1 1 <%= error_messages_for 'issue_category' %>
2 2
3 3 <!--[form:issue_category]-->
4 <p><label for="issue_category_name"><%l(:field_name)%></label><br/>
4 <p><label for="issue_category_name"><%l(:field_name)%></label>
5 5 <%= text_field 'issue_category', 'name' %></p>
6 6 <!--[eoform:issue_category]-->
7 7
@@ -1,6 +1,6
1 1 <h2><%=l(:label_issue_category)%></h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @category %>
3 <%= start_form_tag({:action => 'edit', :id => @category}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_save) %>
6 6 <%= end_form_tag %>
@@ -1,17 +1,18
1 1 <%= error_messages_for 'issue_status' %>
2 2
3 <div class="box">
3 4 <!--[form:issue_status]-->
4 <p><label for="issue_status_name"><%=l(:field_name)%></label> <span class="required">*</span><br/>
5 <p><label for="issue_status_name"><%=l(:field_name)%><span class="required"> *</span></label>
5 6 <%= text_field 'issue_status', 'name' %></p>
6 7
7 <p><%= check_box 'issue_status', 'is_closed' %>
8 <label for="issue_status_is_closed"><%=l(:field_is_closed)%></label></p>
8 <p><label for="issue_status_is_closed"><%=l(:field_is_closed)%></label>
9 <%= check_box 'issue_status', 'is_closed' %></p>
9 10
10 <p><%= check_box 'issue_status', 'is_default' %>
11 <label for="issue_status_is_default"><%=l(:field_is_default)%></label></p>
11 <p><label for="issue_status_is_default"><%=l(:field_is_default)%></label>
12 <%= check_box 'issue_status', 'is_default' %></p>
12 13
13 <p><label for="issue_status_html_color"><%=l(:field_html_color)%></label>
14 #<%= text_field 'issue_status', 'html_color', :maxlength => 6 %> <span class="required">*</span></p>
14 <p><label for="issue_status_html_color"><%=l(:field_html_color)%><span class="required"> *</span></label>
15 #<%= text_field 'issue_status', 'html_color', :maxlength => 6 %></p>
15 16
16 17 <!--[eoform:issue_status]-->
17
18 </div> No newline at end of file
@@ -1,6 +1,6
1 1 <h2><%=l(:label_issue_status)%></h2>
2 2
3 <%= start_form_tag :action => 'update', :id => @issue_status %>
3 <%= start_form_tag({:action => 'update', :id => @issue_status}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_save) %>
6 6 <%= end_form_tag %>
@@ -1,30 +1,28
1 1 <h2><%=l(:label_issue_status_plural)%></h2>
2 2
3 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <th><%=l(:field_status)%></th>
6 6 <th><%=l(:field_is_default)%></th>
7 7 <th><%=l(:field_is_closed)%></th>
8 8 <th><%=l(:field_html_color)%></th>
9 9 <th></th>
10 10 </tr>
11 11
12 12 <% for status in @issue_statuses %>
13 13 <tr class="<%= cycle("odd", "even") %>">
14 14 <td><%= link_to status.name, :action => 'edit', :id => status %></td>
15 15 <td align="center"><%= image_tag 'true' if status.is_default? %></td>
16 16 <td align="center"><%= image_tag 'true' if status.is_closed? %></td>
17 <td bgcolor="#<%= status.html_color %>">&nbsp</td>
18 <td align="center">
19 <%= start_form_tag :action => 'destroy', :id => status %>
20 <%= submit_tag l(:button_delete), :class => "button-small" %>
21 <%= end_form_tag %>
17 <td><div style="background-color:#<%= status.html_color %>">&nbsp</div></td>
18 <td align="center">
19 <%= button_to l(:button_delete), { :action => 'destroy', :id => status }, :confirm => l(:text_are_you_sure), :class => "button-small" %>
22 20 </td>
23 21 </tr>
24 22 <% end %>
25 23 </table>
26 24
27 25 <%= pagination_links_full @issue_status_pages %>
28 26 <br />
29 27
30 28 <%= link_to '&#187; ' + l(:label_issue_status_new), :action => 'new' %>
@@ -1,6 +1,6
1 1 <h2><%=l(:label_issue_status_new)%></h2>
2 2
3 <%= start_form_tag :action => 'create' %>
3 <%= start_form_tag({:action => 'create'}, :class => "tabular") %>
4 4 <%= render :partial => 'form' %>
5 5 <%= submit_tag l(:button_create) %>
6 6 <%= end_form_tag %>
@@ -1,28 +1,28
1 1 <% if issues.length > 0 %>
2 2 <table cellspacing="0" cellpadding="1" width="100%" border="0" class="listTable">
3 3 <tr><td>
4 <table width="100%" border="0" cellspacing="1" cellpadding="2" class="listTableContent">
4 <table class="listTableContent">
5 5 <tr class="ListHead">
6 6 <th>#</th>
7 7 <th><%=l(:field_tracker)%></th>
8 8 <th><%=l(:field_subject)%></th>
9 9 </tr>
10 10 <% for issue in issues %>
11 11 <tr bgcolor="#<%= issue.status.html_color %>">
12 12 <td align="center">
13 13 <%= link_to issue.id, :controller => 'issues', :action => 'show', :id => issue %><br />
14 14 </td>
15 15 <td><p class="small"><%= issue.project.name %> - <%= issue.tracker.name %><br />
16 16 <%= issue.status.name %> - <%= format_time(issue.updated_on) %></p></td>
17 17 <td>
18 18 <p class="small"><%= link_to issue.subject, :controller => 'issues', :action => 'show', :id => issue %></p>
19 19 </td>
20 20 </tr>
21 21 <% end %>
22 22 </table>
23 23 </td>
24 24 </tr>
25 25 </table>
26 26 <% else %>
27 27 <i><%=l(:label_no_data)%></i>
28 28 <% end %> No newline at end of file
@@ -1,31 +1,29
1 1 <h2><%=l(:label_issue)%> #<%= @issue.id %>: <%= @issue.subject %></h2>
2 2
3 3 <%= error_messages_for 'history' %>
4 <%= start_form_tag :action => 'change_status', :id => @issue %>
4 <%= start_form_tag({:action => 'change_status', :id => @issue}, :class => "tabular") %>
5 5
6 6 <%= hidden_field_tag 'confirm', 1 %>
7 7 <%= hidden_field 'history', 'status_id' %>
8 8
9 9 <div class="box">
10 <p><%=l(:label_issue_status_new)%>: <b><%= @history.status.name %></b></p>
10 <p><label><%=l(:label_issue_status_new)%></label> <%= @history.status.name %></p>
11 11
12 <div>
13 <p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label><br/>
12 <p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label>
14 13 <select name="issue[assigned_to_id]">
15 14 <option value=""></option>
16 15 <%= options_from_collection_for_select @assignable_to, "id", "display_name", @issue.assigned_to_id %></p>
17 16 </select></p>
18 </div>
19 17
20 <p><label for="issue_fixed_version"><%=l(:field_fixed_version)%></label><br/>
18 <p><label for="issue_fixed_version"><%=l(:field_fixed_version)%></label>
21 19 <select name="issue[fixed_version_id]">
22 20 <option value="">--none--</option>
23 21 <%= options_from_collection_for_select @issue.project.versions, "id", "name", @issue.fixed_version_id %>
24 22 </select></p>
25 23
26 <p><label for="history_notes"><%=l(:field_notes)%></label><br />
24 <p><label for="history_notes"><%=l(:field_notes)%></label>
27 25 <%= text_area 'history', 'notes', :cols => 60, :rows => 10 %></p>
28 26 </div>
29 27
30 28 <%= submit_tag l(:button_save) %>
31 29 <%= end_form_tag %>
@@ -1,56 +1,26
1 1 <h2><%= @issue.tracker.name %> #<%= @issue.id %> - <%= @issue.subject %></h2>
2 2
3 <%= error_messages_for 'issue' %>
4 <%= start_form_tag :action => 'edit', :id => @issue %>
5
3 <% labelled_tabular_form_for :issue, @issue, :url => {:action => 'edit'} do |f| %>
4 <%= error_messages_for 'issue' %>
6 5 <div class="box">
7 <!--[form:issue]-->
8 <p><%=l(:field_status)%>: <b><%= @issue.status.name %></b></p>
9
10 <div style="float:left;margin-right:10px;">
11 <p><label for="issue_priority_id"><%=l(:field_priority)%> <span class="required">*</span></label><br/>
12 <select name="issue[priority_id]">
13 <%= options_from_collection_for_select @priorities, "id", "name", @issue.priority_id %></p>
14 </select></p>
15 </div>
16
17 <div style="float:left;margin-right:10px;">
18 <p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label><br/>
19 <select name="issue[assigned_to_id]">
20 <option value=""></option>
21 <%= options_from_collection_for_select @issue.project.members, "user_id", "name", @issue.assigned_to_id %></p>
22 </select></p>
23 </div>
24
25 <div>
26 <p><label for="issue_category_id"><%=l(:field_category)%></label><br/>
27 <select name="issue[category_id]">
28 <option value=""></option>
29 <%= options_from_collection_for_select @project.issue_categories, "id", "name", @issue.category_id %></p>
30 </select></p>
31 </div>
32
33 <p><label for="issue_subject"><%=l(:field_subject)%></label><span class="required">*</span><br/>
34 <%= text_field 'issue', 'subject', :size => 60 %></p>
6 <!--[form:issue]-->
7 <p><label><%=l(:field_status)%></label> <%= @issue.status.name %></p>
35 8
36 <p><label for="issue_description"><%=l(:field_description)%></label><span class="required">*</span><br/>
37 <%= text_area 'issue', 'description', :cols => 60, :rows => 10 %></p>
9 <p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required => true %></p>
10 <p><%= f.select :assigned_to_id, (@issue.project.members.collect {|m| [m.name, m.user_id]}), :include_blank => true %></p>
11 <p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}) %></p>
12 <p><%= f.text_field :subject, :size => 80, :required => true %></p>
13 <p><%= f.text_area :description, :cols => 60, :rows => 10, :required => true %></p>
14 <p><%= f.date_select :due_date, :start_year => Date.today.year, :include_blank => true %></p>
38 15
39 <p><label for="issue_due_date"><%=l(:field_due_date)%></label><br />
40 <%= date_select 'issue', 'due_date', :start_year => Date.today.year, :include_blank => true %></p>
41
42 16 <% for @custom_value in @custom_values %>
43 17 <p><%= custom_field_tag_with_label @custom_value %></p>
44 <% end %>
45
46 <p><label for="issue_fixed_version"><%=l(:field_fixed_version)%></label><br/>
47 <select name="issue[fixed_version_id]">
48 <option value="">--none--</option>
49 <%= options_from_collection_for_select @project.versions, "id", "name", @issue.fixed_version_id %>
50 </select></p>
18 <% end %>
51 19
52 <!--[eoform:issue]-->
20 <p><%= f.select :fixed_version_id, (@project.versions.collect {|v| [v.name, v.id]}), { :include_blank => true } %>
21 </select></p>
22 <!--[eoform:issue]-->
53 23 </div>
54
24
55 25 <%= submit_tag l(:button_save) %>
56 <%= end_form_tag %>
26 <% end %> No newline at end of file
@@ -1,13 +1,6
1 1 <%= error_messages_for 'news' %>
2
3 <!--[form:news]-->
4 <p><label for="news_title"><%=l(:field_title)%></label> <span class="required">*</span><br/>
5 <%= text_field 'news', 'title', :size => 60 %></p>
6
7 <p><label for="news_summary"><%=l(:field_summary)%></label><br/>
8 <%= text_area 'news', 'summary', :cols => 60, :rows => 2 %></p>
9
10 <p><label for="news_description"><%=l(:field_description)%> <span class="required">*</span></label><br/>
11 <%= text_area 'news', 'description', :cols => 60, :rows => 10 %></p>
12 <!--[eoform:news]-->
13
2 <div class="box">
3 <p><%= f.text_field :title, :required => true, :size => 60 %></p>
4 <p><%= f.text_area :summary, :cols => 60, :rows => 2 %></p>
5 <p><%= f.text_area :description, :required => true, :cols => 60, :rows => 10 %></p>
6 </div> No newline at end of file
@@ -1,6 +1,6
1 1 <h2><%=l(:label_news)%></h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @news %>
4 <%= render :partial => 'form' %>
5 <%= submit_tag l(:button_save) %>
6 <%= end_form_tag %>
3 <% labelled_tabular_form_for :news, @news, :url => { :action => "edit" } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_save) %>
6 <% end %> No newline at end of file
@@ -1,10 +1,21
1 1 <h2><%= @news.title %></h2>
2 2
3 3 <p>
4 4 <b><%=l(:field_summary)%></b>: <%= @news.summary %><br />
5 5 <b><%=l(:field_author)%></b>: <%= @news.author.display_name %><br />
6 6 <b><%=l(:field_created_on)%></b>: <%= format_time(@news.created_on) %>
7 7 </p>
8 8
9 9 <%= simple_format auto_link @news.description %>
10
10
11 <% if authorize_for('news', 'edit') %>
12 <%= start_form_tag ({:controller => 'news', :action => 'edit', :id => @news}, :method => 'get' ) %>
13 <%= submit_tag l(:button_edit) %>
14 <%= end_form_tag %>
15 <% end %>
16
17 <% if authorize_for('news', 'destroy') %>
18 <%= start_form_tag ({:controller => 'news', :action => 'destroy', :id => @news}) %>
19 <%= submit_tag l(:button_delete) %>
20 <%= end_form_tag %>
21 <% end %>
@@ -1,41 +1,24
1 1 <%= error_messages_for 'project' %>
2
3 2 <div class="box">
4 3 <!--[form:project]-->
5 <p><label for="project_name"><%=l(:field_name)%> <span class="required">*</span></label><br/>
6 <%= text_field 'project', 'name' %></p>
4 <p><%= f.text_field :name, :required => true %></p>
7 5
8 6 <% if admin_loggedin? %>
9 <p><label for="project_parent_id"><%=l(:field_parent)%></label><br/>
10 <select name="project[parent_id]">
11 <option value=""></option>
12 <%= options_from_collection_for_select @root_projects, "id", "name", @project.parent_id %>
13 </select></p>
7 <p><%= f.select :parent_id, (@root_projects.collect {|p| [p.name, p.id]}), { :include_blank => true } %></p>
14 8 <% end %>
15 9
16 <p><label for="project_description"><%=l(:field_description)%> <span class="required">*</span></label><br/>
17 <%= text_area 'project', 'description', :cols => 60, :rows => 3 %></p>
18
19 <p><label for="project_homepage"><%=l(:field_homepage)%></label><br/>
20 <%= text_field 'project', 'homepage', :size => 40 %></p>
21
22 <p><%= check_box 'project', 'is_public' %>
23 <label for="project_is_public"><%=l(:field_is_public)%></label></p>
10 <p><%= f.text_area :description, :required => true, :cols => 60, :rows => 3 %></p>
11 <p><%= f.text_field :homepage, :size => 40 %></p>
12 <p><%= f.check_box :is_public %></p>
24 13
25 14 <% for @custom_value in @custom_values %>
26 15 <p><%= custom_field_tag_with_label @custom_value %></p>
27 16 <% end %>
28 17
29 <fieldset><legend><%=l(:label_custom_field_plural)%></legend>
30 <% for custom_field in @custom_fields %>
31 <input type="checkbox"
32
33 name="custom_field_ids[]"
34 value="<%= custom_field.id %>"
35 <%if @project.custom_fields.include? custom_field%>checked="checked"<%end%>
36 > <%= custom_field.name %>
37
38 <% end %></fieldset>
39
18 <p><label><%=l(:label_custom_field_plural)%></label>
19 <% for custom_field in @custom_fields %>
20 <%= check_box_tag "custom_field_ids[]", custom_field.id, (@project.custom_fields.include? custom_field) %>
21 <%= custom_field.name %>
22 <% end %></p>
23 <!--[eoform:project]-->
40 24 </div>
41 <!--[eoform:project]-->
@@ -1,6 +1,6
1 1 <h2><%=l(:label_project_new)%></h2>
2 2
3 <%= start_form_tag :action => 'add' %>
4 <%= render :partial => 'form' %>
5 <%= submit_tag l(:button_create) %>
6 <%= end_form_tag %>
3 <% labelled_tabular_form_for :project, @project, :url => { :action => "add" } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_save) %>
6 <% end %> No newline at end of file
@@ -1,12 +1,14
1 1 <h2><%=l(:label_document_new)%></h2>
2 2
3 <%= start_form_tag( { :action => 'add_document', :id => @project }, :multipart => true) %>
3 <%= start_form_tag( { :action => 'add_document', :id => @project }, :class => "tabular", :multipart => true) %>
4 4 <%= render :partial => 'documents/form' %>
5
6 <p><label for="attachment_file"><%=l(:label_attachment)%></label><br/>
7 <%= file_field 'attachment', 'file' %></p>
5
6 <div class="box">
7 <p><label for="attachment_file"><%=l(:label_attachment)%></label>
8 <%= file_field 'attachment', 'file' %></p>
9 </div>
8 10
9 11 <%= submit_tag l(:button_create) %>
10 12 <%= end_form_tag %>
11 13
12 14
@@ -1,52 +1,26
1 1 <h2><%=l(:label_issue_new)%>: <%= @tracker.name %></h2>
2 2
3 <%= start_form_tag( { :action => 'add_issue', :id => @project }, :multipart => true) %>
3 <% labelled_tabular_form_for :issue, @issue, :url => {:action => 'add_issue'}, :html => {:multipart => true} do |f| %>
4 4 <%= error_messages_for 'issue' %>
5
6 5 <div class="box">
7 <!--[form:issue]-->
8
6 <!--[form:issue]-->
9 7 <%= hidden_field_tag 'tracker_id', @tracker.id %>
10 8
11 <div style="float:left;margin-right:10px;">
12 <p><label for="issue_priority_id"><%=l(:field_priority)%> <span class="required">*</span></label><br />
13 <select name="issue[priority_id]">
14 <%= options_from_collection_for_select @priorities, "id", "name", @issue.priority_id %></p>
15 </select></p>
16 </div>
17
18 <div style="float:left;margin-right:10px;">
19 <p><label for="issue_assigned_to_id"><%=l(:field_assigned_to)%></label><br />
20 <select name="issue[assigned_to_id]">
21 <option value=""></option>
22 <%= options_from_collection_for_select @issue.project.members, "user_id", "name", @issue.assigned_to_id %></p>
23 </select></p>
24 </div>
25
26 <div>
27 <p><label for="issue_category_id"><%=l(:field_category)%></label><br />
28 <select name="issue[category_id]">
29 <option value=""></option><%= options_from_collection_for_select @project.issue_categories, "id", "name", @issue.category_id %>
30 </select></p>
31 </div>
32
33 <p><label for="issue_subject"><%=l(:field_subject)%> <span class="required">*</span></label><br />
34 <%= text_field 'issue', 'subject', :size => 80 %></p>
35
36 <p><label for="issue_description"><%=l(:field_description)%> <span class="required">*</span></label><br />
37 <%= text_area 'issue', 'description', :cols => 60, :rows => 10 %></p>
38
39 <p><label for="issue_due_date"><%=l(:field_due_date)%></label><br />
40 <%= date_select 'issue', 'due_date', :start_year => Date.today.year, :include_blank => true %></p>
9 <p><%= f.select :priority_id, (@priorities.collect {|p| [p.name, p.id]}), :required => true %></p>
10 <p><%= f.select :assigned_to_id, (@issue.project.members.collect {|m| [m.name, m.user_id]}), :include_blank => true %></p>
11 <p><%= f.select :category_id, (@project.issue_categories.collect {|c| [c.name, c.id]}) %></p>
12 <p><%= f.text_field :subject, :size => 80, :required => true %></p>
13 <p><%= f.text_area :description, :cols => 60, :rows => 10, :required => true %></p>
14 <p><%= f.date_select :due_date, :start_year => Date.today.year, :include_blank => true %></p>
41 15
42 16 <% for @custom_value in @custom_values %>
43 17 <p><%= custom_field_tag_with_label @custom_value %></p>
44 18 <% end %>
45 19
46 <p><label for="attachment_file"><%=l(:label_attachment)%></label><br />
20 <p><label for="attachment_file"><%=l(:label_attachment)%></label>
47 21 <%= file_field 'attachment', 'file' %></p>
48 22 <!--[eoform:issue]-->
49 23 </div>
50 24
51 25 <%= submit_tag l(:button_create) %>
52 <%= end_form_tag %> No newline at end of file
26 <% end %> No newline at end of file
@@ -1,7 +1,6
1 1 <h2><%=l(:label_news_new)%></h2>
2 2
3 <%= start_form_tag :action => 'add_news', :id => @project %>
4 <%= render :partial => 'news/form' %>
5 <%= submit_tag l(:button_create) %>
6 <%= end_form_tag %>
7
3 <% labelled_tabular_form_for :news, @news, :url => { :action => "add_news" } do |f| %>
4 <%= render :partial => 'news/form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_create) %>
6 <% end %> No newline at end of file
@@ -1,7 +1,6
1 1 <h2><%=l(:label_version_new)%></h2>
2 2
3 <%= start_form_tag :action => 'add_version', :id => @project %>
4 <%= render :partial => 'versions/form' %>
5 <%= submit_tag l(:button_create) %>
6 <%= end_form_tag %>
7
3 <% labelled_tabular_form_for :version, @version, :url => { :action => 'add_version' } do |f| %>
4 <%= render :partial => 'versions/form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_create) %>
6 <% end %> No newline at end of file
@@ -1,20 +1,20
1 1 <h2><%=l(:label_public_projects)%></h2>
2 2
3 <table width="100%" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <%= sort_header_tag('name', :caption => l(:label_project)) %>
6 6 <th><%=l(:field_description)%></th>
7 7 <%= sort_header_tag('created_on', :caption => l(:field_created_on)) %>
8 8 </tr>
9 9
10 10 <% for project in @projects %>
11 11 <tr class="<%= cycle("odd", "even") %>">
12 12 <td><%= link_to project.name, :action => 'show', :id => project %>
13 13 <td><%= project.description %>
14 14 <td align="center"><%= format_date(project.created_on) %>
15 15 </tr>
16 16 <% end %>
17 17 </table>
18 18
19 19 <%= pagination_links_full @project_pages %>
20 20 [ <%= @project_pages.current.first_item %> - <%= @project_pages.current.last_item %> / <%= @project_count %> ] No newline at end of file
@@ -1,46 +1,46
1 1 <h2><%=l(:label_attachment_plural)%></h2>
2 2
3 3 <% delete_allowed = authorize_for('versions', 'destroy_file') %>
4 4
5 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
5 <table class="listTableContent">
6 6 <tr class="ListHead">
7 7 <th><%=l(:field_version)%></th>
8 8 <th><%=l(:field_filename)%></th>
9 9 <th><%=l(:label_date)%></th>
10 10 <th><%=l(:field_filesize)%></th>
11 11 <th>D/L</th>
12 12 <th>MD5</th>
13 13 <% if delete_allowed %><th></th><% end %>
14 14 </tr>
15 15
16 16 <% for version in @versions %>
17 17 <% unless version.attachments.empty? %>
18 18 <tr><td colspan="7"><%= image_tag 'package' %> <b><%= version.name %></b></td></tr>
19 19 <% for file in version.attachments %>
20 20 <tr class="<%= cycle("odd", "even") %>">
21 21 <td></td>
22 22 <td><%= link_to file.filename, :controller => 'versions', :action => 'download', :id => version, :attachment_id => file %></td>
23 23 <td align="center"><%= format_date(file.created_on) %></td>
24 24 <td align="center"><%= human_size(file.filesize) %></td>
25 25 <td align="center"><%= file.downloads %></td>
26 26 <td align="center"><small><%= file.digest %></small></td>
27 27 <% if delete_allowed %>
28 28 <td align="center">
29 29 <%= start_form_tag :controller => 'versions', :action => 'destroy_file', :id => version, :attachment_id => file %>
30 30 <%= submit_tag l(:button_delete), :class => "button-small" %>
31 31 <%= end_form_tag %>
32 32 </td>
33 33 <% end %>
34 34 </tr>
35 35 <% end
36 36 reset_cycle %>
37 37 <% end %>
38 38 <% end %>
39 39 </table>
40 40
41 41 <br />
42 42 <p>
43 43 <%= link_to_if_authorized '&#187; ' + l(:label_attachment_new), :controller => 'projects', :action => 'add_file', :id => @project %>
44 44 </p>
45 45
46 46
@@ -1,53 +1,53
1 1 <h2><%=l(:label_issue_plural)%></h2>
2 2
3 3 <form method="post" class="noborder">
4 4 <table cellpadding=2>
5 5 <tr>
6 6 <td><small><%=l(:field_status)%>:</small><br /><%= search_filter_tag 'status_id', :class => 'select-small' %></td>
7 7 <td><small><%=l(:field_tracker)%>:</small><br /><%= search_filter_tag 'tracker_id', :class => 'select-small' %></td>
8 8 <td><small><%=l(:field_priority)%>:</small><br /><%= search_filter_tag 'priority_id', :class => 'select-small' %></td>
9 9 <td><small><%=l(:field_category)%>:</small><br /><%= search_filter_tag 'category_id', :class => 'select-small' %></td>
10 10 <td><small><%=l(:field_fixed_version)%>:</small><br /><%= search_filter_tag 'fixed_version_id', :class => 'select-small' %></td>
11 11 <td><small><%=l(:field_assigned_to)%>:</small><br /><%= search_filter_tag 'assigned_to_id', :class => 'select-small' %></td>
12 12 <td><small><%=l(:label_subproject_plural)%>:</small><br /><%= search_filter_tag 'subproject_id', :class => 'select-small' %></td>
13 13
14 14 <td valign="bottom">
15 15 <%= submit_tag l(:button_apply), :class => 'button-small' %>
16 16 <%= end_form_tag %>
17 17
18 18 <%= start_form_tag %>
19 19 <%= submit_tag l(:button_clear), :class => 'button-small' %>
20 20 <%= end_form_tag %>
21 21 </td>
22 22 </tr>
23 23 </table>
24 24 &nbsp;
25 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
25 <table class="listTableContent">
26 26 <tr><td colspan="7" align="right">
27 27 <small><%= link_to l(:label_export_csv), :action => 'export_issues_csv', :id => @project.id %></small>
28 28 </td></tr>
29 29 <tr class="ListHead">
30 30 <%= sort_header_tag('issues.id', :caption => '#') %>
31 31 <%= sort_header_tag('issue_statuses.name', :caption => l(:field_status)) %>
32 32 <%= sort_header_tag('issues.tracker_id', :caption => l(:field_tracker)) %>
33 33 <th><%=l(:field_subject)%></th>
34 34 <%= sort_header_tag('users.lastname', :caption => l(:field_author)) %>
35 35 <%= sort_header_tag('issues.created_on', :caption => l(:field_created_on)) %>
36 36 <%= sort_header_tag('issues.updated_on', :caption => l(:field_updated_on)) %>
37 37 </tr>
38 38 <% for issue in @issues %>
39 39 <tr bgcolor="#<%= issue.status.html_color %>">
40 40 <td align="center"><%= link_to issue.long_id, :controller => 'issues', :action => 'show', :id => issue %></td>
41 41 <td align="center"><%= issue.status.name %></td>
42 42 <td align="center"><%= issue.tracker.name %></td>
43 43 <td><%= link_to issue.subject, :controller => 'issues', :action => 'show', :id => issue %></td>
44 44 <td align="center"><%= issue.author.display_name %></td>
45 45 <td align="center"><%= format_time(issue.created_on) %></td>
46 46 <td align="center"><%= format_time(issue.updated_on) %></td>
47 47 </tr>
48 48 <% end %>
49 49 </table>
50 50 <p>
51 51 <%= pagination_links_full @issue_pages %>
52 52 [ <%= @issue_pages.current.first_item %> - <%= @issue_pages.current.last_item %> / <%= @issue_count %> ]
53 53 </p> No newline at end of file
@@ -1,17 +1,14
1 1 <h2><%=l(:label_news_plural)%></h2>
2 2
3 3 <% for news in @news %>
4 4 <p>
5 <b><%= news.title %></b> <small>(<%= link_to_user news.author %> <%= format_time(news.created_on) %>)</small>
6 <%= link_to_if_authorized image_tag('edit_small'), :controller => 'news', :action => 'edit', :id => news %>
7 <%= link_to_if_authorized image_tag('delete'), { :controller => 'news', :action => 'destroy', :id => news }, :confirm => 'Are you sure?' %>
8 <br />
9 <%= news.summary %>
5 <b><%= news.title %></b> <small>(<%= link_to_user news.author %> <%= format_time(news.created_on) %>)</small><br />
6 <%= news.summary %><br />
10 7 <small>[<%= link_to l(:label_read), :controller => 'news', :action => 'show', :id => news %>]</small>
11 8 </p>
12 9 <% end %>
13 10
14 11 <%= pagination_links_full @news_pages %>
15 12 <p>
16 13 <%= link_to_if_authorized '&#187; ' + l(:label_news_new), :controller => 'projects', :action => 'add_news', :id => @project %>
17 14 </p>
@@ -1,105 +1,105
1 1 <h2><%=l(:label_settings)%></h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @project %>
4 <%= render :partial => 'form' %>
5 <center><%= submit_tag l(:button_save) %></center>
6 <%= end_form_tag %>
3 <% labelled_tabular_form_for :project, @project, :url => { :action => "edit", :id => @project } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_save) %>
6 <% end %>
7 7
8 8 &nbsp;
9 9
10 10 <div class="box">
11 11 <h3><%=l(:label_member_plural)%></h3>
12 12 <%= error_messages_for 'member' %>
13 13 <table>
14 14 <% for member in @project.members.find(:all, :include => :user) %>
15 15 <% unless member.new_record? %>
16 16 <tr>
17 17 <td><%= member.user.display_name %></td>
18 18 <td>
19 19 <%= start_form_tag :controller => 'members', :action => 'edit', :id => member %>
20 20 <select name="member[role_id]">
21 21 <%= options_from_collection_for_select @roles, "id", "name", member.role_id %>
22 22 </select>
23 23 </td>
24 24 <td>
25 25 <%= submit_tag l(:button_change), :class => "button-small" %>
26 26 <%= end_form_tag %>
27 27 </td>
28 28 <td>
29 29 <%= start_form_tag :controller => 'members', :action => 'destroy', :id => member %>
30 30 <%= submit_tag l(:button_delete), :class => "button-small" %>
31 31 <%= end_form_tag %>
32 32 </td>
33 33 </tr>
34 34 <% end %>
35 35 <% end %>
36 36 </table>
37 37 <hr />
38 38 <label><%=l(:label_member_new)%></label><br/>
39 39 <%= start_form_tag :controller => 'projects', :action => 'add_member', :id => @project %>
40 40 <select name="member[user_id]">
41 41 <%= options_from_collection_for_select @users, "id", "display_name", @member.user_id %>
42 42 </select>
43 43 <select name="member[role_id]">
44 44 <%= options_from_collection_for_select @roles, "id", "name", @member.role_id %>
45 45 </select>
46 46 <%= submit_tag l(:button_add) %>
47 47 <%= end_form_tag %>
48 48 </div>
49 49
50 50 <div class="box">
51 51 <h3><%=l(:label_version_plural)%></h3>
52 52
53 53 <table>
54 54 <% for version in @project.versions %>
55 55 <tr>
56 56 <td><%= link_to version.name, :controller => 'versions', :action => 'edit', :id => version %></td>
57 57 <td><%=h version.description %></td>
58 58 <td>
59 59 <%= start_form_tag :controller => 'versions', :action => 'destroy', :id => version %>
60 60 <%= submit_tag l(:button_delete), :class => "button-small" %>
61 61 <%= end_form_tag %>
62 62 </td>
63 63 </tr>
64 64 <% end %>
65 65 </table>
66 66 <hr />
67 67 <%= start_form_tag ({ :controller => 'projects', :action => 'add_version', :id => @project }, :method => 'get' ) %>
68 68 <%= submit_tag l(:label_version_new) %>
69 69 <%= end_form_tag %>
70 70 </div>
71 71
72 72
73 73 <div class="box">
74 74 <h3><%=l(:label_issue_category_plural)%></h3>
75 75 <table>
76 76 <% for @category in @project.issue_categories %>
77 77 <% unless @category.new_record? %>
78 78 <tr>
79 79 <td>
80 80 <%= start_form_tag :controller => 'issue_categories', :action => 'edit', :id => @category %>
81 81 <%= text_field 'category', 'name', :size => 25 %>
82 82 </td>
83 83 <td>
84 84 <%= submit_tag l(:button_save), :class => "button-small" %>
85 85 <%= end_form_tag %>
86 86 </td>
87 87 <td>
88 88 <%= start_form_tag :controller => 'issue_categories', :action => 'destroy', :id => @category %>
89 89 <%= submit_tag l(:button_delete), :class => "button-small" %>
90 90 <%= end_form_tag %>
91 91 </td>
92 92 </tr>
93 93 <% end %>
94 94 <% end %>
95 95 </table>
96 96 <hr />
97 97
98 98 <%= start_form_tag :action => 'add_issue_category', :id => @project %>
99 99 <label for="issue_category_name"><%=l(:label_issue_category_new)%></label><br/>
100 100 <%= error_messages_for 'issue_category' %>
101 101 <%= text_field 'issue_category', 'name', :size => 25 %>
102 102 <%= submit_tag l(:button_create) %>
103 103 <%= end_form_tag %>
104 104
105 105 </div>
@@ -1,13 +1,14
1 1 <h2><%=l(:label_report_plural)%></h2>
2 2
3 3 <strong><%=l(:field_tracker)%></strong>
4 4 <%= render :partial => 'simple', :locals => { :data => @issues_by_tracker, :field_name => "tracker_id", :rows => @trackers } %>
5 5 <br />
6 6
7 7 <strong><%=l(:field_priority)%></strong>
8 8 <%= render :partial => 'simple', :locals => { :data => @issues_by_priority, :field_name => "priority_id", :rows => @priorities } %>
9 9 <br />
10 10
11 11 <strong><%=l(:field_category)%></strong>
12 12 <%= render :partial => 'simple', :locals => { :data => @issues_by_category, :field_name => "category_id", :rows => @categories } %>
13 13
14 &nbsp;
@@ -1,23 +1,21
1 1 <%= error_messages_for 'role' %>
2
3 2 <div class="box">
4 3 <!--[form:role]-->
5 <p><label for="role_name"><%=l(:field_name)%> <span class="required">*</span></label><br />
6 <%= text_field 'role', 'name' %></p>
4 <p><%= f.text_field :name, :required => true %></p>
7 5
8 6 <strong><%=l(:label_permissions)%>:</strong>
9 7 <% permissions = @permissions.group_by {|p| p.group_id } %>
10 8 <% permissions.keys.sort.each do |group_id| %>
11 9 <fieldset style="margin-top: 6px;"><legend><strong><%= l(Permission::GROUPS[group_id]) %></strong></legend>
12 10 <% permissions[group_id].each do |p| %>
13 11 <div style="width:170px;float:left;"><%= check_box_tag "permission_ids[]", p.id, (@role.permissions.include? p) %>
14 12 <%= l(p.description.to_sym) %>
15 13 </div>
16 14 <% end %>
17 15 </fieldset>
18 16 <% end %>
19 17 <br />
20 18 <a href="javascript:checkAll('role_form', true)"><%=l(:button_check_all)%></a> |
21 19 <a href="javascript:checkAll('role_form', false)"><%=l(:button_uncheck_all)%></a><br />
22 20 <!--[eoform:role]-->
23 21 </div>
@@ -1,8 +1,6
1 1 <h2><%=l(:label_role)%></h2>
2 2
3 <%= start_form_tag ({ :action => 'edit', :id => @role }, :id => 'role_form') %>
4 <%= render :partial => 'form' %>
3 <% labelled_tabular_form_for :role, @role, :url => { :action => 'edit' }, :html => {:id => 'role_form'} do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 5 <%= submit_tag l(:button_save) %>
6 <%= end_form_tag %>
7
8
6 <% end %>
@@ -1,23 +1,21
1 1 <h2><%=l(:label_role_plural)%></h2>
2 2
3 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <th><%=l(:label_role)%></th>
6 6 <th></th>
7 7 </tr>
8 8
9 9 <% for role in @roles %>
10 10 <tr class="<%= cycle("odd", "even") %>">
11 11 <td><%= link_to role.name, :action => 'edit', :id => role %></td>
12 <td align="center">
13 <%= start_form_tag :action => 'destroy', :id => role %>
14 <%= submit_tag l(:button_delete), :class => "button-small" %>
15 <%= end_form_tag %>
12 <td align="center">
13 <%= button_to l(:button_delete), { :action => 'destroy', :id => role }, :confirm => l(:text_are_you_sure), :class => "button-small" %>
16 14 </tr>
17 15 <% end %>
18 16 </table>
19 17
20 18 <%= pagination_links_full @role_pages %>
21 19 <br />
22 20
23 21 <%= link_to '&#187; ' + l(:label_role_new), :action => 'new' %>
@@ -1,7 +1,6
1 1 <h2><%=l(:label_role_new)%></h2>
2 2
3 <%= start_form_tag ({ :action => 'new' }, :id => 'role_form') %>
4 <%= render :partial => 'form' %>
3 <% labelled_tabular_form_for :role, @role, :url => { :action => 'new' }, :html => {:id => 'role_form'} do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 5 <%= submit_tag l(:button_create) %>
6 <%= end_form_tag %>
7
6 <% end %> No newline at end of file
@@ -1,10 +1,7
1 1 <%= error_messages_for 'tracker' %>
2
2 <div class="box">
3 3 <!--[form:tracker]-->
4 <p><label for="tracker_name"><%=l(:field_name)%></label> <span class="required">*</span><br/>
5 <%= text_field 'tracker', 'name' %></p>
6
7 <p><%= check_box 'tracker', 'is_in_chlog' %>
8 <label for="tracker_is_in_chlog"><%=l(:field_is_in_chlog)%></label></p>
4 <p><%= f.text_field :name, :required => true %></p>
5 <p><%= f.check_box :is_in_chlog %></p>
9 6 <!--[eoform:tracker]-->
10
7 </div>
@@ -1,6 +1,6
1 1 <h2><%=l(:label_tracker)%></h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @tracker %>
4 <%= render :partial => 'form' %>
5 <%= submit_tag l(:button_save) %>
6 <%= end_form_tag %>
3 <% labelled_tabular_form_for :tracker, @tracker, :url => { :action => 'edit' } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_save) %>
6 <% end %> No newline at end of file
@@ -1,24 +1,22
1 1 <h2><%=l(:label_tracker_plural)%></h2>
2 2
3 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <th><%=l(:label_tracker)%></th>
6 6 <th></th>
7 7 </tr>
8 8
9 9 <% for tracker in @trackers %>
10 10 <tr class="<%= cycle("odd", "even") %>">
11 11 <td><%= link_to tracker.name, :action => 'edit', :id => tracker %></td>
12 <td align="center">
13 <%= start_form_tag :action => 'destroy', :id => tracker %>
14 <%= submit_tag l(:button_delete), :class => "button-small" %>
15 <%= end_form_tag %>
12 <td align="center">
13 <%= button_to l(:button_delete), { :action => 'destroy', :id => tracker }, :confirm => l(:text_are_you_sure), :class => "button-small" %>
16 14 </td>
17 15 </tr>
18 16 <% end %>
19 17 </table>
20 18
21 19 <%= pagination_links_full @tracker_pages %>
22 20 <br />
23 21
24 22 <%= link_to '&#187; ' + l(:label_tracker_new), :action => 'new' %>
@@ -1,7 +1,6
1 1 <h2><%=l(:label_tracker_new)%></h2>
2 2
3 <%= start_form_tag :action => 'new' %>
4 <%= render :partial => 'form' %>
5 <%= submit_tag l(:button_create) %>
6 <%= end_form_tag %>
7
3 <% labelled_tabular_form_for :tracker, @tracker, :url => { :action => 'new' } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_create) %>
6 <% end %> No newline at end of file
@@ -1,37 +1,26
1 1 <%= error_messages_for 'user' %>
2 2
3 3 <div class="box">
4 4 <!--[form:user]-->
5 <p><label for="user_login"><%=l(:field_login)%></label> <span class="required">*</span><br/>
6 <%= text_field 'user', 'login', :size => 25 %></p>
5 <p><%= f.text_field :login, :required => true, :size => 25 %></p>
7 6
8 <p><label for="password"><%=l(:field_password)%></label> <span class="required">*</span><br/>
7 <p><label for="password"><%=l(:field_password)%><span class="required"> *</span></label>
9 8 <%= password_field_tag 'password', nil, :size => 25 %></p>
10 9
11 <p><label for="password_confirmation"><%=l(:field_password_confirmation)%></label> <span class="required">*</span><br/>
10 <p><label for="password_confirmation"><%=l(:field_password_confirmation)%><span class="required"> *</span></label>
12 11 <%= password_field_tag 'password_confirmation', nil, :size => 25 %></p>
13 12
14 <p><label for="user_firstname"><%=l(:field_firstname)%></label> <span class="required">*</span><br/>
15 <%= text_field 'user', 'firstname' %></p>
16
17 <p><label for="user_lastname"><%=l(:field_lastname)%></label> <span class="required">*</span><br/>
18 <%= text_field 'user', 'lastname' %></p>
19
20 <p><label for="user_mail"><%=l(:field_mail)%></label> <span class="required">*</span><br/>
21 <%= text_field 'user', 'mail' %></p>
22
23 <p><label for="user_language"><%=l(:field_language)%></label><br/>
24 <%= select("user", "language", lang_options_for_select) %></p>
13 <p><%= f.text_field :firstname, :required => true %></p>
14 <p><%= f.text_field :lastname, :required => true %></p>
15 <p><%= f.text_field :mail, :required => true %></p>
16 <p><%= f.select :language, lang_options_for_select %></p>
25 17
26 18 <% for @custom_value in @custom_values %>
27 19 <p><%= custom_field_tag_with_label @custom_value %></p>
28 20 <% end %>
29 21
30 <div style="clear: both;"></div>
31
32 <p><%= check_box 'user', 'admin' %> <label for="user_admin"><%=l(:field_admin)%></label></p>
33
34 <p><%= check_box 'user', 'mail_notification' %> <label for="user_mail_notification"><%=l(:field_mail_notification)%></label></p>
22 <p><%= f.check_box :admin %></p>
23 <p><%= f.check_box :mail_notification %></p>
35 24
36 25 <!--[eoform:user]-->
37 26 </div>
@@ -1,6 +1,6
1 1 <h2><%=l(:label_user_new)%></h2>
2 2
3 <%= start_form_tag :action => 'add' %>
4 <%= render :partial => 'form' %>
5 <%= submit_tag l(:button_create) %>
6 <%= end_form_tag %>
3 <% labelled_tabular_form_for :user, @user, :url => { :action => "add" } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_create) %>
6 <% end %> No newline at end of file
@@ -1,6 +1,6
1 1 <h2><%=l(:label_user)%></h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @user %>
4 <%= render :partial => 'form' %>
5 <%= submit_tag l(:button_save) %>
6 <%= end_form_tag %>
3 <% labelled_tabular_form_for :user, @user, :url => { :action => "edit" } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_save) %>
6 <% end %>
@@ -1,46 +1,46
1 1 <h2><%=l(:label_user_plural)%></h2>
2 2
3 <table border="0" cellspacing="1" cellpadding="2" class="listTableContent">
3 <table class="listTableContent">
4 4 <tr class="ListHead">
5 5 <%= sort_header_tag('login', :caption => l(:field_login)) %>
6 6 <%= sort_header_tag('firstname', :caption => l(:field_firstname)) %>
7 7 <%= sort_header_tag('lastname', :caption => l(:field_lastname)) %>
8 8 <th><%=l(:field_mail)%></th>
9 9 <%= sort_header_tag('admin', :caption => l(:field_admin)) %>
10 10 <%= sort_header_tag('status', :caption => l(:field_status)) %>
11 11 <%= sort_header_tag('created_on', :caption => l(:field_created_on)) %>
12 12 <%= sort_header_tag('last_login_on', :caption => l(:field_last_login_on)) %>
13 13 <th></th>
14 14 </tr>
15 15 <% for user in @users %>
16 16 <tr class="<%= cycle("odd", "even") %>">
17 17 <td><%= link_to user.login, :action => 'edit', :id => user %></td>
18 18 <td><%= user.firstname %></td>
19 19 <td><%= user.lastname %></td>
20 20 <td><%= user.mail %></td>
21 21 <td align="center"><%= image_tag 'true' if user.admin? %></td>
22 22 <td align="center"><%= image_tag 'locked' if user.locked? %></td>
23 23 <td align="center"><%= format_time(user.created_on) %></td>
24 24 <td align="center"><%= format_time(user.last_login_on) unless user.last_login_on.nil? %></td>
25 25 <td align="center">
26 26 <%= start_form_tag :action => 'edit', :id => user %>
27 27 <% if user.locked? %>
28 28 <%= hidden_field_tag 'user[status]', User::STATUS_ACTIVE %>
29 29 <%= submit_tag l(:button_unlock), :class => "button-small" %>
30 30 <% else %>
31 31 <%= hidden_field_tag 'user[status]', User::STATUS_LOCKED %>
32 32 <%= submit_tag l(:button_lock), :class => "button-small" %>
33 33 <% end %>
34 34 <%= end_form_tag %>
35 35 </td>
36 36 </tr>
37 37 <% end %>
38 38 </table>
39 39
40 40 <p><%= pagination_links_full @user_pages %>
41 41 [ <%= @user_pages.current.first_item %> - <%= @user_pages.current.last_item %> / <%= @user_count %> ]
42 42 </p>
43 43
44 44 <p>
45 45 <%= link_to '&#187; ' + l(:label_user_new), :action => 'add' %>
46 46 </p> No newline at end of file
@@ -1,13 +1,8
1 1 <%= error_messages_for 'version' %>
2
2 <div class="box">
3 3 <!--[form:version]-->
4 <p><label for="version_name"><%=l(:field_name)%></label> <span class="required">*</span><br/>
5 <%= text_field 'version', 'name', :size => 20 %></p>
6
7 <p><label for="version_description"><%=l(:field_description)%></label><br/>
8 <%= text_field 'version', 'description', :size => 60 %></p>
9
10 <p><label for="version_effective_date"><%=l(:field_effective_date)%></label><br/>
11 <%= date_select 'version', 'effective_date' %></p>
4 <p><%= f.text_field :name, :size => 20, :required => true %></p>
5 <p><%= f.text_field :description, :size => 60 %></p>
6 <p><%= f.date_select :effective_date, :required => true %></p>
12 7 <!--[eoform:version]-->
13
8 </div> No newline at end of file
@@ -1,8 +1,7
1 1 <h2><%=l(:label_version)%></h2>
2 2
3 <%= start_form_tag :action => 'edit', :id => @version %>
4 <%= render :partial => 'form' %>
5 <%= submit_tag l(:button_save) %>
6 <%= end_form_tag %>
7
3 <% labelled_tabular_form_for :version, @version, :url => { :action => 'edit' } do |f| %>
4 <%= render :partial => 'form', :locals => { :f => f } %>
5 <%= submit_tag l(:button_save) %>
6 <% end %>
8 7
@@ -1,134 +1,134
1 1 # Be sure to restart your web server when you modify this file.
2 2
3 3 # Uncomment below to force Rails into production mode when
4 4 # you don't control web/app server and can't set it the proper way
5 5 # ENV['RAILS_ENV'] ||= 'production'
6 6
7 7 # Bootstrap the Rails environment, frameworks, and default configuration
8 8 require File.join(File.dirname(__FILE__), 'boot')
9 9
10 10 Rails::Initializer.run do |config|
11 11 # Settings in config/environments/* take precedence those specified here
12 12
13 13 # Skip frameworks you're not going to use
14 14 # config.frameworks -= [ :action_web_service, :action_mailer ]
15 15
16 16 # Add additional load paths for your own custom dirs
17 17 # config.load_paths += %W( #{RAILS_ROOT}/extras )
18 18
19 19 # Force all environments to use the same logger level
20 20 # (by default production uses :info, the others :debug)
21 21 # config.log_level = :debug
22 22
23 23 # Use the database for sessions instead of the file system
24 24 # (create the session table with 'rake create_sessions_table')
25 25 # config.action_controller.session_store = :active_record_store
26 26
27 27 # Enable page/fragment caching by setting a file-based store
28 28 # (remember to create the caching directory and make it readable to the application)
29 29 # config.action_controller.fragment_cache_store = :file_store, "#{RAILS_ROOT}/cache"
30 30
31 31 # Activate observers that should always be running
32 32 # config.active_record.observers = :cacher, :garbage_collector
33 33
34 34 # Make Active Record use UTC-base instead of local time
35 35 # config.active_record.default_timezone = :utc
36 36
37 37 # Use Active Record's schema dumper instead of SQL when creating the test database
38 38 # (enables use of different database adapters for development and test environments)
39 39 # config.active_record.schema_format = :ruby
40 40
41 41 # See Rails::Configuration for more options
42 42
43 43 # SMTP server configuration
44 44 config.action_mailer.server_settings = {
45 45 :address => "127.0.0.1",
46 46 :port => 25,
47 47 :domain => "somenet.foo",
48 48 :authentication => :login,
49 49 :user_name => "redmine",
50 50 :password => "redmine",
51 51 }
52 52
53 53 config.action_mailer.perform_deliveries = true
54 54
55 55 # Tell ActionMailer not to deliver emails to the real world.
56 56 # The :test delivery method accumulates sent emails in the
57 57 # ActionMailer::Base.deliveries array.
58 58 #config.action_mailer.delivery_method = :test
59 59 config.action_mailer.delivery_method = :smtp
60 60 end
61 61
62 62 # Add new inflection rules using the following format
63 63 # (all these examples are active by default):
64 64 # Inflector.inflections do |inflect|
65 65 # inflect.plural /^(ox)$/i, '\1en'
66 66 # inflect.singular /^(ox)en/i, '\1'
67 67 # inflect.irregular 'person', 'people'
68 68 # inflect.uncountable %w( fish sheep )
69 69 # end
70 70
71 71 if File.exist? File.join(File.dirname(__FILE__), 'config_custom.rb')
72 72 begin
73 73 print "=> Loading config_custom.rb... "
74 74 require File.join(File.dirname(__FILE__), 'config_custom')
75 75 puts "done."
76 76 rescue Exception => detail
77 77 puts
78 78 puts detail
79 79 puts detail.backtrace.join("\n")
80 80 puts "=> Error in config_custom.rb. Check your configuration."
81 81 exit
82 82 end
83 83 end
84 84
85 85 # IMPORTANT !!! DO NOT MODIFY PARAMETERS HERE
86 86 # Instead, rename config_custom.example.rb to config_custom.rb
87 87 # and set your own configuration in that file
88 88 # Parameters defined in config_custom.rb override those defined below
89 89
90 90 # application host name
91 91 $RDM_HOST_NAME ||= "localhost:3000"
92 92 # file storage path
93 93 $RDM_STORAGE_PATH ||= "#{RAILS_ROOT}/files"
94 94 # if RDM_LOGIN_REQUIRED is set to true, login is required to access the application
95 95 $RDM_LOGIN_REQUIRED ||= false
96 96 # default langage
97 97 $RDM_DEFAULT_LANG ||= 'en'
98 98
99 99 # page title
100 100 $RDM_HEADER_TITLE ||= "redMine"
101 101 # page sub-title
102 102 $RDM_HEADER_SUBTITLE ||= "Project management"
103 103 # footer signature
104 104 $RDM_FOOTER_SIG = "admin@somenet.foo"
105 105
106 106 # application name
107 107 RDM_APP_NAME = "redMine"
108 108 # application version
109 109 RDM_APP_VERSION = "0.3.0"
110 110
111 111 ActiveRecord::Errors.default_error_messages = {
112 112 :inclusion => "activerecord_error_inclusion",
113 113 :exclusion => "activerecord_error_exclusion",
114 114 :invalid => "activerecord_error_invalid",
115 115 :confirmation => "activerecord_error_confirmation",
116 116 :accepted => "activerecord_error_accepted",
117 117 :empty => "activerecord_error_empty",
118 118 :blank => "activerecord_error_blank",
119 119 :too_long => "activerecord_error_too_long",
120 120 :too_short => "activerecord_error_too_short",
121 121 :wrong_length => "activerecord_error_wrong_length",
122 122 :taken => "activerecord_error_taken",
123 123 :not_a_number => "activerecord_error_not_a_number"
124 124 }
125 125
126 ActionView::Base.field_error_proc = Proc.new{ |html_tag, instance| "<span class=\"fieldWithErrors\">#{html_tag}</span>" }
126 ActionView::Base.field_error_proc = Proc.new{ |html_tag, instance| "#{html_tag}" }
127 127
128 128 GLoc.set_config :default_language => $RDM_DEFAULT_LANG
129 129 GLoc.clear_strings
130 130 GLoc.set_kcode
131 131 GLoc.load_localized_strings
132 132 GLoc.set_config(:raise_string_not_found_errors => false)
133 133
134 134
@@ -1,63 +1,67
1 1 == redMine changelog
2 2
3 3 redMine - project management software
4 4 Copyright (C) 2006 Jean-Philippe Lang
5 5 http://redmine.org/
6 6
7 7
8 8 == xx/xx/2006 v0.3.0
9 9
10 * user authentication against multiple LDAP
10 * user authentication against multiple LDAP (optional)
11 11 * token based "lost password" functionality
12 12 * user self-registration functionality (optional)
13 13 * custom fields now available for issues, users and projects
14 14 * new custom field format "text" (displayed as a textarea field)
15 15 * project & administration drop down menus in navigation bar for quicker access
16 16 * "due date" field added on issues
17 * error messages internationalization
17 * tracker selection filter added on change log
18 18 * Localization plugin replaced with GLoc 1.1.0
19 * error messages internationalization
20 * german translation added (thanks to Karim Trott)
19 21 * new filter in issues list: "Fixed version"
20 22 * active filters are displayed with colored background on issues list
21 23 * custom configuration is now defined in config/config_custom.rb
22 24 * user object no more stored in session (only user_id)
23 25 * news summary field is no longer required
26 * tables and forms redesign
24 27 * Fixed: boolean custom field not working
25 28 * Fixed: error messages for custom fields are not displayed
29 * Fixed: invalid custom fields should have a red border
26 30 * Fixed: custom fields values are not validated on issue update
27 31 * Fixed: unable to choose an empty value for 'List' custom fields
28 32 * Fixed: no issue categories sorting
29 33 * Fixed: incorrect versions sorting
30 34
31 35
32 36 == 07/12/2006 - v0.2.2
33 37
34 38 * Fixed: bug in "issues list"
35 39
36 40
37 41 == 07/09/2006 - v0.2.1
38 42
39 43 * new databases supported: Oracle, PostgreSQL, SQL Server
40 44 * projects/subprojects hierarchy (1 level of subprojects only)
41 45 * environment information display in admin/info
42 46 * more filter options in issues list (rev6)
43 47 * default language based on browser settings (Accept-Language HTTP header)
44 48 * issues list exportable to CSV (rev6)
45 49 * simple_format and auto_link on long text fields
46 50 * more data validations
47 51 * Fixed: error when all mail notifications are unchecked in admin/mail_options
48 52 * Fixed: all project news are displayed on project summary
49 53 * Fixed: Can't change user password in users/edit
50 54 * Fixed: Error on tables creation with PostgreSQL (rev5)
51 55 * Fixed: SQL error in "issue reports" view with PostgreSQL (rev5)
52 56
53 57
54 58 == 06/25/2006 - v0.1.0
55 59
56 60 * multiple users/multiple projects
57 61 * role based access control
58 62 * issue tracking system
59 63 * fully customizable workflow
60 64 * documents/files repository
61 65 * email notifications on issue creation and update
62 66 * multilanguage support (except for error messages):english, french, spanish
63 67 * online manual in french (unfinished) No newline at end of file
@@ -1,289 +1,290
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: January,February,March,April,May,June,July,August,September,October,November,December
5 5 actionview_datehelper_select_month_names_abbr: Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 day
9 9 actionview_datehelper_time_in_words_day_plural: %d days
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: half a minute
15 15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 20 actionview_instancetag_blank_option: Please select
21 21
22 22 activerecord_error_inclusion: is not included in the list
23 23 activerecord_error_exclusion: is reserved
24 24 activerecord_error_invalid: is invalid
25 25 activerecord_error_confirmation: doesn't match confirmation
26 26 activerecord_error_accepted: must be accepted
27 27 activerecord_error_empty: can't be empty
28 28 activerecord_error_blank: can't be blank
29 29 activerecord_error_too_long: is too long
30 30 activerecord_error_too_short: is too short
31 31 activerecord_error_wrong_length: is the wrong length
32 32 activerecord_error_taken: has already been taken
33 33 activerecord_error_not_a_number: is not a number
34 34
35 35 general_fmt_age: %d yr
36 36 general_fmt_age_plural: %d yrs
37 37 general_fmt_date: %%b %%d, %%Y (%%a)
38 38 general_fmt_datetime: %%b %%d, %%Y (%%a), %%I:%%M %%p
39 39 general_fmt_datetime_short: %%b %%d, %%I:%%M %%p
40 40 general_fmt_time: %%I:%%M %%p
41 41 general_text_No: 'No'
42 42 general_text_Yes: 'Yes'
43 43 general_text_no: 'no'
44 44 general_text_yes: 'yes'
45 45 general_lang_en: 'English'
46 46
47 47 notice_account_updated: Account was successfully updated.
48 48 notice_account_invalid_creditentials: Invalid user or password
49 49 notice_account_password_updated: Password was successfully updated.
50 50 notice_account_wrong_password: Wrong password
51 51 notice_account_register_done: Account was successfully created.
52 52 notice_account_unknown_email: Unknown user.
53 53 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
54 54 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
55 55 notice_account_activated: Your account has been activated. You can now log in.
56 56 notice_successful_create: Successful creation.
57 57 notice_successful_update: Successful update.
58 58 notice_successful_delete: Successful deletion.
59 59 notice_successful_connection: Successful connection.
60 60 notice_file_not_found: Requested file doesn't exist or has been deleted.
61 61
62 62 gui_validation_error: 1 error
63 63 gui_validation_error_plural: %d errors
64 64
65 65 field_name: Name
66 66 field_description: Description
67 67 field_summary: Summary
68 68 field_is_required: Required
69 69 field_firstname: Firstname
70 70 field_lastname: Lastname
71 71 field_mail: Email
72 72 field_filename: File
73 73 field_filesize: Size
74 74 field_downloads: Downloads
75 75 field_author: Author
76 76 field_created_on: Created
77 77 field_updated_on: Updated
78 78 field_field_format: Format
79 79 field_is_for_all: For all projects
80 80 field_possible_values: Possible values
81 81 field_regexp: Regular expression
82 82 field_min_length: Minimum length
83 83 field_max_length: Maximum length
84 84 field_value: Value
85 85 field_category: Catogory
86 86 field_title: Title
87 87 field_project: Project
88 88 field_issue: Issue
89 89 field_status: Status
90 90 field_notes: Notes
91 91 field_is_closed: Issue closed
92 92 field_is_default: Default status
93 93 field_html_color: Color
94 94 field_tracker: Tracker
95 95 field_subject: Subject
96 96 field_due_date: Due date
97 97 field_assigned_to: Assigned to
98 98 field_priority: Priority
99 99 field_fixed_version: Fixed version
100 100 field_user: User
101 101 field_role: Role
102 102 field_homepage: Homepage
103 103 field_is_public: Public
104 field_parent: Subproject de
104 field_parent: Subproject of
105 105 field_is_in_chlog: Issues displayed in changelog
106 106 field_login: Login
107 107 field_mail_notification: Mail notifications
108 108 field_admin: Administrator
109 109 field_locked: Locked
110 110 field_last_login_on: Last connection
111 111 field_language: Language
112 112 field_effective_date: Date
113 113 field_password: Password
114 114 field_new_password: New password
115 115 field_password_confirmation: Confirmation
116 116 field_version: Version
117 117 field_type: Type
118 118 field_host: Host
119 119 field_port: Port
120 120 field_account: Account
121 121 field_base_dn: Base DN
122 122 field_attr_login: Login attribute
123 123 field_attr_firstname: Firstname attribute
124 124 field_attr_lastname: Lastname attribute
125 125 field_attr_mail: Email attribute
126 126 field_onthefly: On-the-fly user creation
127 127
128 128 label_user: User
129 129 label_user_plural: Users
130 130 label_user_new: New user
131 131 label_project: Project
132 132 label_project_new: New project
133 133 label_project_plural: Projects
134 134 label_project_latest: Latest projects
135 135 label_issue: Issue
136 136 label_issue_new: New issue
137 137 label_issue_plural: Issues
138 138 label_issue_view_all: View all issues
139 139 label_document: Document
140 140 label_document_new: New document
141 141 label_document_plural: Documents
142 142 label_role: Role
143 143 label_role_plural: Roles
144 144 label_role_new: New role
145 145 label_role_and_permissions: Roles and permissions
146 146 label_member: Member
147 147 label_member_new: New member
148 148 label_member_plural: Members
149 149 label_tracker: Tracker
150 150 label_tracker_plural: Trackers
151 151 label_tracker_new: New tracker
152 152 label_workflow: Workflow
153 153 label_issue_status: Issue status
154 154 label_issue_status_plural: Issue statuses
155 155 label_issue_status_new: New status
156 156 label_issue_category: Issue category
157 157 label_issue_category_plural: Issue categories
158 158 label_issue_category_new: New category
159 159 label_custom_field: Custom field
160 160 label_custom_field_plural: Custom fields
161 161 label_custom_field_new: New custom field
162 162 label_enumerations: Enumerations
163 163 label_enumeration_new: New value
164 164 label_information: Information
165 165 label_information_plural: Information
166 166 label_please_login: Please login
167 167 label_register: Register
168 168 label_password_lost: Lost password
169 169 label_home: Home
170 170 label_my_page: My page
171 171 label_my_account: My account
172 172 label_my_projects: My projects
173 173 label_administration: Administration
174 174 label_login: Login
175 175 label_logout: Logout
176 176 label_help: Help
177 177 label_reported_issues: Reported issues
178 178 label_assigned_to_me_issues: Issues assigned to me
179 179 label_last_login: Last connection
180 180 label_last_updates: Last updated
181 181 label_last_updates_plural: %d last updated
182 182 label_registered_on: Registered on
183 183 label_activity: Activity
184 184 label_new: New
185 185 label_logged_as: Logged as
186 186 label_environment: Environment
187 187 label_authentication: Authentication
188 188 label_auth_source: Authentification mode
189 189 label_auth_source_new: New authentication mode
190 190 label_auth_source_plural: Authentification modes
191 191 label_subproject: Subproject
192 192 label_subproject_plural: Subprojects
193 193 label_min_max_length: Min - Max length
194 194 label_list: List
195 195 label_date: Date
196 196 label_integer: Integer
197 197 label_boolean: Boolean
198 198 label_string: String
199 199 label_text: Text
200 200 label_attribute: Attribute
201 201 label_attribute_plural: Attributes
202 202 label_download: %d Download
203 203 label_download_plural: %d Downloads
204 204 label_no_data: No data to display
205 205 label_change_status: Change status
206 206 label_history: History
207 207 label_attachment: File
208 208 label_attachment_new: New file
209 209 label_attachment_delete: Delete file
210 210 label_attachment_plural: Files
211 211 label_report: Report
212 212 label_report_plural: Reports
213 213 label_news: News
214 214 label_news_new: Add news
215 215 label_news_plural: News
216 216 label_news_latest: Latest news
217 217 label_news_view_all: View all news
218 218 label_change_log: Change log
219 219 label_settings: Settings
220 220 label_overview: Overview
221 221 label_version: Version
222 222 label_version_new: New version
223 223 label_version_plural: Versions
224 224 label_confirmation: Confirmation
225 225 label_export_csv: Export to CSV
226 226 label_read: Read...
227 227 label_public_projects: Public projects
228 228 label_open_issues: Open
229 229 label_open_issues_plural: Open
230 230 label_closed_issues: Closed
231 231 label_closed_issues_plural: Closed
232 232 label_total: Total
233 233 label_permissions: Permissions
234 234 label_current_status: Current status
235 235 label_new_statuses_allowed: New statuses allowed
236 236 label_all: All
237 237 label_none: None
238 238 label_next: Next
239 239 label_previous: Previous
240 240 label_used_by: Used by
241 241
242 242 button_login: Login
243 243 button_submit: Submit
244 244 button_save: Save
245 245 button_check_all: Check all
246 246 button_uncheck_all: Uncheck all
247 247 button_delete: Delete
248 248 button_create: Create
249 249 button_test: Test
250 250 button_edit: Edit
251 251 button_add: Add
252 252 button_change: Change
253 253 button_apply: Apply
254 254 button_clear: Clear
255 255 button_lock: Lock
256 256 button_unlock: Unlock
257 257 button_download: Download
258 258 button_list: List
259 259 button_view: View
260 260
261 261 text_select_mail_notifications: Select actions for which mail notifications should be sent.
262 262 text_regexp_info: eg. ^[A-Z0-9]+$
263 263 text_min_max_length_info: 0 means no restriction
264 264 text_possible_values_info: values separated with |
265 265 text_project_destroy_confirmation: Are you sure you want to delete this project and all related data ?
266 266 text_workflow_edit: Select a role and a tracker to edit the workflow
267 text_are_you_sure: Are you sure ?
267 268
268 269 default_role_manager: Manager
269 270 default_role_developper: Developer
270 271 default_role_reporter: Reporter
271 272 default_tracker_bug: Bug
272 273 default_tracker_feature: Feature
273 274 default_tracker_support: Support
274 275 default_issue_status_new: New
275 276 default_issue_status_assigned: Assigned
276 277 default_issue_status_resolved: Resolved
277 278 default_issue_status_feedback: Feedback
278 279 default_issue_status_closed: Closed
279 280 default_issue_status_rejected: Rejected
280 281 default_doc_category_user: User documentation
281 282 default_doc_category_tech: Technical documentation
282 283 default_priority_low: Low
283 284 default_priority_normal: Normal
284 285 default_priority_high: High
285 286 default_priority_urgent: Urgent
286 287 default_priority_immediate: Immediate
287 288
288 289 enumeration_issue_priorities: Issue priorities
289 290 enumeration_doc_categories: Document categories
@@ -1,289 +1,290
1 1 _gloc_rule_default: '|n| n==1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Enero,Febrero,Marzo,Abril,Mayo,Junio,Julio,Agosto,Septiembre,Octubre,Noviembre,Diciembre
5 5 actionview_datehelper_select_month_names_abbr: Ene,Feb,Mar,Abr,Mayo,Jun,Jul,Ago,Sep,Oct,Nov,Dic
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 day
9 9 actionview_datehelper_time_in_words_day_plural: %d days
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: half a minute
15 15 actionview_datehelper_time_in_words_minute_less_than: less than a minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: less than a second
19 19 actionview_datehelper_time_in_words_second_less_than_plural: less than %d seconds
20 20 actionview_instancetag_blank_option: Please select
21 21
22 22 activerecord_error_inclusion: is not included in the list
23 23 activerecord_error_exclusion: is reserved
24 24 activerecord_error_invalid: is invalid
25 25 activerecord_error_confirmation: doesn't match confirmation
26 26 activerecord_error_accepted: must be accepted
27 27 activerecord_error_empty: can't be empty
28 28 activerecord_error_blank: can't be blank
29 29 activerecord_error_too_long: is too long
30 30 activerecord_error_too_short: is too short
31 31 activerecord_error_wrong_length: is the wrong length
32 32 activerecord_error_taken: has already been taken
33 33 activerecord_error_not_a_number: is not a number
34 34
35 35 general_fmt_age: %d año
36 36 general_fmt_age_plural: %d años
37 37 general_fmt_date: %%d/%%m/%%Y
38 38 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
39 39 general_fmt_datetime_short: %%d/%%m %%H:%%M
40 40 general_fmt_time: %%H:%%M
41 41 general_text_No: 'No'
42 42 general_text_Yes: 'Sí'
43 43 general_text_no: 'no'
44 44 general_text_yes: 'sí'
45 45 general_lang_es: 'Español'
46 46
47 47 notice_account_updated: Account was successfully updated.
48 48 notice_account_invalid_creditentials: Invalid user or password
49 49 notice_account_password_updated: Password was successfully updated.
50 50 notice_account_wrong_password: Wrong password
51 51 notice_account_register_done: Account was successfully created.
52 52 notice_account_unknown_email: Unknown user.
53 53 notice_can_t_change_password: This account uses an external authentication source. Impossible to change the password.
54 54 notice_account_lost_email_sent: An email with instructions to choose a new password has been sent to you.
55 55 notice_account_activated: Your account has been activated. You can now log in.
56 56 notice_successful_create: Successful creation.
57 57 notice_successful_update: Successful update.
58 58 notice_successful_delete: Successful deletion.
59 59 notice_successful_connection: Successful connection.
60 60 notice_file_not_found: Requested file doesn't exist or has been deleted.
61 61
62 62 gui_validation_error: 1 error
63 63 gui_validation_error_plural: %d errores
64 64
65 65 field_name: Nombre
66 66 field_description: Descripción
67 67 field_summary: Resumen
68 68 field_is_required: Obligatorio
69 69 field_firstname: Nombre
70 70 field_lastname: Apellido
71 71 field_mail: Email
72 72 field_filename: Fichero
73 73 field_filesize: Tamaño
74 74 field_downloads: Telecargas
75 75 field_author: Autor
76 76 field_created_on: Creado
77 77 field_updated_on: Actualizado
78 78 field_field_format: Formato
79 79 field_is_for_all: Para todos los proyectos
80 80 field_possible_values: Valores posibles
81 81 field_regexp: Expresión regular
82 82 #field_min_length: Minimum length
83 83 #field_max_length: Maximum length
84 84 field_value: Valor
85 85 field_category: Categoría
86 86 field_title: Título
87 87 field_project: Proyecto
88 88 field_issue: Petición
89 89 field_status: Estatuto
90 90 field_notes: Notas
91 91 field_is_closed: Petición resuelta
92 92 field_is_default: Estatuto por defecto
93 93 field_html_color: Color
94 94 field_tracker: Tracker
95 95 field_subject: Tema
96 96 #field_due_date: Due date
97 97 field_assigned_to: Asignado a
98 98 field_priority: Prioridad
99 99 field_fixed_version: Versión corregida
100 100 field_user: Usuario
101 101 field_role: Papel
102 102 field_homepage: Sitio web
103 103 field_is_public: Público
104 104 #field_parent: Subproject de
105 105 field_is_in_chlog: Consultar las peticiones en el histórico
106 106 field_login: Identificador
107 107 field_mail_notification: Notificación por mail
108 108 field_admin: Administrador
109 109 field_locked: Cerrado
110 110 field_last_login_on: Última conexión
111 111 field_language: Lengua
112 112 field_effective_date: Fecha
113 113 field_password: Contraseña
114 114 field_new_password: Nueva contraseña
115 115 field_password_confirmation: Confirmación
116 116 field_version: Versión
117 117 field_type: Tipo
118 118 #field_host: Host
119 119 #field_port: Port
120 120 #field_account: Account
121 121 #field_base_dn: Base DN
122 122 #field_attr_login: Login attribute
123 123 #field_attr_firstname: Firstname attribute
124 124 #field_attr_lastname: Lastname attribute
125 125 #field_attr_mail: Email attribute
126 126 #field_onthefly: On-the-fly user creation
127 127
128 128 label_user: Usuario
129 129 label_user_plural: Usuarios
130 130 label_user_new: Nuevo usuario
131 131 label_project: Proyecto
132 132 label_project_new: Nuevo proyecto
133 133 label_project_plural: Proyectos
134 134 #label_project_latest: Latest projects
135 135 label_issue: Petición
136 136 label_issue_new: Nueva petición
137 137 label_issue_plural: Peticiones
138 138 label_issue_view_all: Ver todas las peticiones
139 139 label_document: Documento
140 140 label_document_new: Nuevo documento
141 141 label_document_plural: Documentos
142 142 label_role: Papel
143 143 label_role_plural: Papeles
144 144 label_role_new: Nuevo papel
145 145 label_role_and_permissions: Papeles y permisos
146 146 label_member: Miembro
147 147 label_member_new: Nuevo miembro
148 148 label_member_plural: Miembros
149 149 label_tracker: Tracker
150 150 label_tracker_plural: Trackers
151 151 label_tracker_new: Nuevo tracker
152 152 label_workflow: Workflow
153 153 label_issue_status: Estatuto de petición
154 154 label_issue_status_plural: Estatutos de las peticiones
155 155 label_issue_status_new: Nuevo estatuto
156 156 label_issue_category: Categoría de las peticiones
157 157 label_issue_category_plural: Categorías de las peticiones
158 158 label_issue_category_new: Nueva categoría
159 159 label_custom_field: Campo personalizado
160 160 label_custom_field_plural: Campos personalizados
161 161 label_custom_field_new: Nuevo campo personalizado
162 162 label_enumerations: Listas de valores
163 163 label_enumeration_new: Nuevo valor
164 164 label_information: Informacion
165 165 label_information_plural: Informaciones
166 166 label_please_login: Conexión
167 167 #label_register: Register
168 168 label_password_lost: ¿Olvidaste la contraseña?
169 169 label_home: Acogida
170 170 label_my_page: Mi página
171 171 label_my_account: Mi cuenta
172 172 label_my_projects: Mis proyectos
173 173 label_administration: Administración
174 174 label_login: Conexión
175 175 label_logout: Desconexión
176 176 label_help: Ayuda
177 177 label_reported_issues: Peticiones registradas
178 178 label_assigned_to_me_issues: Peticiones que me están asignadas
179 179 label_last_login: Última conexión
180 180 label_last_updates: Actualizado
181 181 label_last_updates_plural: %d Actualizados
182 182 label_registered_on: Inscrito el
183 183 label_activity: Actividad
184 184 label_new: Nuevo
185 185 label_logged_as: Conectado como
186 186 #label_environment: Environment
187 187 #label_authentication: Authentication
188 188 #label_auth_source: Authentification mode
189 189 #label_auth_source_new: New authentication mode
190 190 #label_auth_source_plural: Authentification modes
191 191 #label_subproject: Subproject
192 192 #label_subproject_plural: Subprojects
193 193 #label_min_max_length: Min - Max length
194 194 #label_list: List
195 195 label_date: Fecha
196 196 #label_integer: Integer
197 197 #label_boolean: Boolean
198 198 #label_string: String
199 199 #label_text: Text
200 200 #label_attribute: Attribute
201 201 #label_attribute_plural: Attributes
202 202 label_download: %d Telecarga
203 203 label_download_plural: %d Telecargas
204 204 #label_no_data: No data to display
205 205 label_change_status: Cambiar el estatuto
206 206 label_history: Histórico
207 207 label_attachment: Fichero
208 208 label_attachment_new: Nuevo fichero
209 209 #label_attachment_delete: Delete file
210 210 label_attachment_plural: Ficheros
211 211 #label_report: Report
212 212 #label_report_plural: Reports
213 213 label_news: Noticia
214 214 label_news_new: Nueva noticia
215 215 label_news_plural: Noticias
216 216 label_news_latest: Últimas noticias
217 217 label_news_view_all: Ver todas las noticias
218 218 label_change_log: Cambios
219 219 label_settings: Configuración
220 220 label_overview: Vistazo
221 221 label_version: Versión
222 222 label_version_new: Nueva versión
223 223 label_version_plural: Versiónes
224 224 label_confirmation: Confirmación
225 225 label_export_csv: Exportar a CSV
226 226 label_read: Leer...
227 227 label_public_projects: Proyectos publicos
228 228 label_open_issues: Abierta
229 229 label_open_issues_plural: Abiertas
230 230 label_closed_issues: Cerrada
231 231 label_closed_issues_plural: Cerradas
232 232 label_total: Total
233 233 label_permissions: Permisos
234 234 #label_current_status: Current status
235 235 label_new_statuses_allowed: Nuevos estatutos autorizados
236 236 label_all: Todos
237 237 label_none: Ninguno
238 238 label_next: Próximo
239 239 label_previous: Precedente
240 240 label_used_by: Utilizado por
241 241
242 242 button_login: Conexión
243 243 button_submit: Someter
244 244 button_save: Validar
245 245 button_check_all: Seleccionar todo
246 246 button_uncheck_all: No seleccionar nada
247 247 button_delete: Suprimir
248 248 button_create: Crear
249 249 button_test: Testar
250 250 button_edit: Modificar
251 251 button_add: Añadir
252 252 button_change: Cambiar
253 253 button_apply: Aplicar
254 254 button_clear: Anular
255 255 button_lock: Bloquear
256 256 button_unlock: Desbloquear
257 257 button_download: Telecargar
258 258 button_list: Listar
259 259 button_view: Ver
260 260
261 261 text_select_mail_notifications: Seleccionar las actividades que necesitan la activación de la notificación por mail.
262 262 text_regexp_info: eg. ^[A-Z0-9]+$
263 263 text_min_max_length_info: 0 para ninguna restricción
264 264 #text_possible_values_info: values separated with |
265 265 text_project_destroy_confirmation: ¿ Estás seguro de querer eliminar el proyecto ?
266 266 text_workflow_edit: Seleccionar un workflow para actualizar
267 text_are_you_sure: ¿ Estás seguro ?
267 268
268 269 default_role_manager: Manager
269 270 default_role_developper: Desarrollador
270 271 default_role_reporter: Informador
271 272 default_tracker_bug: Anomalía
272 273 default_tracker_feature: Evolución
273 274 default_tracker_support: Asistencia
274 275 default_issue_status_new: Nuevo
275 276 default_issue_status_assigned: Asignada
276 277 default_issue_status_resolved: Resuelta
277 278 default_issue_status_feedback: Comentario
278 279 default_issue_status_closed: Cerrada
279 280 default_issue_status_rejected: Rechazada
280 281 default_doc_category_user: Documentación del usuario
281 282 default_doc_category_tech: Documentación tecnica
282 283 default_priority_low: Bajo
283 284 default_priority_normal: Normal
284 285 default_priority_high: Alto
285 286 default_priority_urgent: Urgente
286 287 default_priority_immediate: Ahora
287 288
288 289 enumeration_issue_priorities: Prioridad de las peticiones
289 290 enumeration_doc_categories: Categorías del documento
@@ -1,289 +1,290
1 1 _gloc_rule_default: '|n| n<=1 ? "" : "_plural" '
2 2
3 3 actionview_datehelper_select_day_prefix:
4 4 actionview_datehelper_select_month_names: Janvier,Février,Mars,Avril,Mai,Juin,Juillet,Août,Septembre,Octobre,Novembre,Décembre
5 5 actionview_datehelper_select_month_names_abbr: Jan,Fév,Mars,Avril,Mai,Juin,Juil,Août,Sept,Oct,Nov,Déc
6 6 actionview_datehelper_select_month_prefix:
7 7 actionview_datehelper_select_year_prefix:
8 8 actionview_datehelper_time_in_words_day: 1 jour
9 9 actionview_datehelper_time_in_words_day_plural: %d jours
10 10 actionview_datehelper_time_in_words_hour_about: about an hour
11 11 actionview_datehelper_time_in_words_hour_about_plural: about %d hours
12 12 actionview_datehelper_time_in_words_hour_about_single: about an hour
13 13 actionview_datehelper_time_in_words_minute: 1 minute
14 14 actionview_datehelper_time_in_words_minute_half: 30 secondes
15 15 actionview_datehelper_time_in_words_minute_less_than: moins d'une minute
16 16 actionview_datehelper_time_in_words_minute_plural: %d minutes
17 17 actionview_datehelper_time_in_words_minute_single: 1 minute
18 18 actionview_datehelper_time_in_words_second_less_than: moins d'une seconde
19 19 actionview_datehelper_time_in_words_second_less_than_plural: moins de %d secondes
20 20 actionview_instancetag_blank_option: Choisir
21 21
22 22 activerecord_error_inclusion: n'est pas inclus dans la liste
23 23 activerecord_error_exclusion: est reservé
24 24 activerecord_error_invalid: est invalide
25 25 activerecord_error_confirmation: ne correspond pas à la confirmation
26 26 activerecord_error_accepted: doit être accepté
27 27 activerecord_error_empty: doit être renseigné
28 28 activerecord_error_blank: doit être renseigné
29 29 activerecord_error_too_long: est trop long
30 30 activerecord_error_too_short: est trop court
31 31 activerecord_error_wrong_length: n'est pas de la bonne longueur
32 32 activerecord_error_taken: est déjà utilisé
33 33 activerecord_error_not_a_number: n'est pas un nombre
34 34
35 35 general_fmt_age: %d an
36 36 general_fmt_age_plural: %d ans
37 37 general_fmt_date: %%d/%%m/%%Y
38 38 general_fmt_datetime: %%d/%%m/%%Y %%H:%%M
39 39 general_fmt_datetime_short: %%d/%%m %%H:%%M
40 40 general_fmt_time: %%H:%%M
41 41 general_text_No: 'Non'
42 42 general_text_Yes: 'Oui'
43 43 general_text_no: 'non'
44 44 general_text_yes: 'oui'
45 45 general_lang_fr: 'Français'
46 46
47 47 notice_account_updated: Le compte a été mis à jour avec succès.
48 48 notice_account_invalid_creditentials: Identifiant ou mot de passe invalide.
49 49 notice_account_password_updated: Mot de passe mis à jour avec succès.
50 50 notice_account_wrong_password: Mot de passe incorrect
51 51 notice_account_register_done: Un message contenant les instructions pour activer votre compte vous a été envoyé.
52 52 notice_account_unknown_email: Aucun compte ne correspond à cette adresse.
53 53 notice_can_t_change_password: Ce compte utilise une authentification externe. Impossible de changer le mot de passe.
54 54 notice_account_lost_email_sent: Un message contenant les instructions pour choisir un nouveau mot de passe vous a été envoyé.
55 55 notice_account_activated: Votre compte a été activé. Vous pouvez à présent vous connecter.
56 56 notice_successful_create: Création effectuée avec succès.
57 57 notice_successful_update: Mise à jour effectuée avec succès.
58 58 notice_successful_delete: Suppression effectuée avec succès.
59 59 notice_successful_connection: Connection réussie.
60 60 notice_file_not_found: Le fichier demandé n'existe pas ou a été supprimé.
61 61
62 62 gui_validation_error: 1 erreur
63 63 gui_validation_error_plural: %d erreurs
64 64
65 65 field_name: Nom
66 66 field_description: Description
67 67 field_summary: Résumé
68 68 field_is_required: Obligatoire
69 69 field_firstname: Prénom
70 70 field_lastname: Nom
71 71 field_mail: Email
72 72 field_filename: Fichier
73 73 field_filesize: Taille
74 74 field_downloads: Téléchargements
75 75 field_author: Auteur
76 76 field_created_on: Créé
77 77 field_updated_on: Mis à jour
78 78 field_field_format: Format
79 79 field_is_for_all: Pour tous les projets
80 80 field_possible_values: Valeurs possibles
81 81 field_regexp: Expression régulière
82 82 field_min_length: Longueur minimum
83 83 field_max_length: Longueur maximum
84 84 field_value: Valeur
85 85 field_category: Catégorie
86 86 field_title: Titre
87 87 field_project: Projet
88 88 field_issue: Demande
89 89 field_status: Statut
90 90 field_notes: Notes
91 91 field_is_closed: Demande fermée
92 92 field_is_default: Statut par défaut
93 93 field_html_color: Couleur
94 94 field_tracker: Tracker
95 95 field_subject: Sujet
96 96 field_due_date: Date d'échéance
97 97 field_assigned_to: Assigné à
98 98 field_priority: Priorité
99 99 field_fixed_version: Version corrigée
100 100 field_user: Utilisateur
101 101 field_role: Rôle
102 102 field_homepage: Site web
103 103 field_is_public: Public
104 104 field_parent: Sous-projet de
105 105 field_is_in_chlog: Demandes affichées dans l'historique
106 106 field_login: Identifiant
107 107 field_mail_notification: Notifications par mail
108 108 field_admin: Administrateur
109 109 field_locked: Verrouillé
110 110 field_last_login_on: Dernière connexion
111 111 field_language: Langue
112 112 field_effective_date: Date
113 113 field_password: Mot de passe
114 114 field_new_password: Nouveau mot de passe
115 115 field_password_confirmation: Confirmation
116 116 field_version: Version
117 117 field_type: Type
118 118 field_host: Hôte
119 119 field_port: Port
120 120 field_account: Compte
121 121 field_base_dn: Base DN
122 122 field_attr_login: Attribut Identifiant
123 123 field_attr_firstname: Attribut Prénom
124 124 field_attr_lastname: Attribut Nom
125 125 field_attr_mail: Attribut Email
126 126 field_onthefly: Création des utilisateurs à la volée
127 127
128 128 label_user: Utilisateur
129 129 label_user_plural: Utilisateurs
130 130 label_user_new: Nouvel utilisateur
131 131 label_project: Projet
132 132 label_project_new: Nouveau projet
133 133 label_project_plural: Projets
134 134 label_project_latest: Derniers projets
135 135 label_issue: Demande
136 136 label_issue_new: Nouvelle demande
137 137 label_issue_plural: Demandes
138 138 label_issue_view_all: Voir toutes les demandes
139 139 label_document: Document
140 140 label_document_new: Nouveau document
141 141 label_document_plural: Documents
142 142 label_role: Rôle
143 143 label_role_plural: Rôles
144 144 label_role_new: Nouveau rôle
145 145 label_role_and_permissions: Rôles et permissions
146 146 label_member: Membre
147 147 label_member_new: Nouveau membre
148 148 label_member_plural: Membres
149 149 label_tracker: Tracker
150 150 label_tracker_plural: Trackers
151 151 label_tracker_new: Nouveau tracker
152 152 label_workflow: Workflow
153 153 label_issue_status: Statut de demandes
154 154 label_issue_status_plural: Statuts de demandes
155 155 label_issue_status_new: Nouveau statut
156 156 label_issue_category: Catégorie de demandes
157 157 label_issue_category_plural: Catégories de demandes
158 158 label_issue_category_new: Nouvelle catégorie
159 159 label_custom_field: Champ personnalisé
160 160 label_custom_field_plural: Champs personnalisés
161 161 label_custom_field_new: Nouveau champ personnalisé
162 162 label_enumerations: Listes de valeurs
163 163 label_enumeration_new: Nouvelle valeur
164 164 label_information: Information
165 165 label_information_plural: Informations
166 166 label_please_login: Identification
167 167 label_register: S'enregistrer
168 168 label_password_lost: Mot de passe perdu
169 169 label_home: Accueil
170 170 label_my_page: Ma page
171 171 label_my_account: Mon compte
172 172 label_my_projects: Mes projets
173 173 label_administration: Administration
174 174 label_login: Connexion
175 175 label_logout: Déconnexion
176 176 label_help: Aide
177 177 label_reported_issues: Demandes soumises
178 178 label_assigned_to_me_issues: Demandes qui me sont assignées
179 179 label_last_login: Dernière connexion
180 180 label_last_updates: Dernière mise à jour
181 181 label_last_updates_plural: %d dernières mises à jour
182 182 label_registered_on: Inscrit le
183 183 label_activity: Activité
184 184 label_new: Nouveau
185 185 label_logged_as: Connecté en tant que
186 186 label_environment: Environnement
187 187 label_authentication: Authentification
188 188 label_auth_source: Mode d'authentification
189 189 label_auth_source_new: Nouveau mode d'authentification
190 190 label_auth_source_plural: Modes d'authentification
191 191 label_subproject: Sous-projet
192 192 label_subproject_plural: Sous-projets
193 193 label_min_max_length: Longueurs mini - maxi
194 194 label_list: Liste
195 195 label_date: Date
196 196 label_integer: Entier
197 197 label_boolean: Booléen
198 198 label_string: Chaîne
199 199 label_text: Texte
200 200 label_attribute: Attribut
201 201 label_attribute_plural: Attributs
202 202 label_download: %d Téléchargement
203 203 label_download_plural: %d Téléchargements
204 204 label_no_data: Aucune donnée à afficher
205 205 label_change_status: Changer le statut
206 206 label_history: Historique
207 207 label_attachment: Fichier
208 208 label_attachment_new: Nouveau fichier
209 209 label_attachment_delete: Supprimer le fichier
210 210 label_attachment_plural: Fichiers
211 211 label_report: Rapport
212 212 label_report_plural: Rapports
213 213 label_news: Annonce
214 214 label_news_new: Nouvelle annonce
215 215 label_news_plural: Annonces
216 216 label_news_latest: Dernières annonces
217 217 label_news_view_all: Voir toutes les annonces
218 218 label_change_log: Historique
219 219 label_settings: Configuration
220 220 label_overview: Aperçu
221 221 label_version: Version
222 222 label_version_new: Nouvelle version
223 223 label_version_plural: Versions
224 224 label_confirmation: Confirmation
225 225 label_export_csv: Exporter en CSV
226 226 label_read: Lire...
227 227 label_public_projects: Projets publics
228 228 label_open_issues: Ouverte
229 229 label_open_issues_plural: Ouvertes
230 230 label_closed_issues: Fermée
231 231 label_closed_issues_plural: Fermées
232 232 label_total: Total
233 233 label_permissions: Permissions
234 234 label_current_status: Statut actuel
235 235 label_new_statuses_allowed: Nouveaux statuts autorisés
236 236 label_all: Tous
237 237 label_none: Aucun
238 238 label_next: Suivant
239 239 label_previous: Précédent
240 240 label_used_by: Utilisé par
241 241
242 242 button_login: Connexion
243 243 button_submit: Soumettre
244 244 button_save: Valider
245 245 button_check_all: Tout cocher
246 246 button_uncheck_all: Tout décocher
247 247 button_delete: Supprimer
248 248 button_create: Créer
249 249 button_test: Tester
250 250 button_edit: Modifier
251 251 button_add: Ajouter
252 252 button_change: Changer
253 253 button_apply: Appliquer
254 254 button_clear: Effacer
255 255 button_lock: Verrouiller
256 256 button_unlock: Déverrouiller
257 257 button_download: Télécharger
258 258 button_list: Lister
259 259 button_view: Voir
260 260
261 261 text_select_mail_notifications: Sélectionner les actions pour lesquelles la notification par mail doit être activée.
262 262 text_regexp_info: ex. ^[A-Z0-9]+$
263 263 text_min_max_length_info: 0 pour aucune restriction
264 264 text_possible_values_info: valeurs séparées par |
265 265 text_project_destroy_confirmation: Etes-vous sûr de vouloir supprimer ce projet et tout ce qui lui est rattaché ?
266 266 text_workflow_edit: Sélectionner un tracker et un rôle pour éditer le workflow
267 text_are_you_sure: Etes-vous sûr ?
267 268
268 269 default_role_manager: Manager
269 270 default_role_developper: Développeur
270 271 default_role_reporter: Rapporteur
271 272 default_tracker_bug: Anomalie
272 273 default_tracker_feature: Evolution
273 274 default_tracker_support: Assistance
274 275 default_issue_status_new: Nouveau
275 276 default_issue_status_assigned: Assigné
276 277 default_issue_status_resolved: Résolu
277 278 default_issue_status_feedback: Commentaire
278 279 default_issue_status_closed: Fermé
279 280 default_issue_status_rejected: Rejeté
280 281 default_doc_category_user: Documentation utilisateur
281 282 default_doc_category_tech: Documentation technique
282 283 default_priority_low: Bas
283 284 default_priority_normal: Normal
284 285 default_priority_high: Haut
285 286 default_priority_urgent: Urgent
286 287 default_priority_immediate: Immédiat
287 288
288 289 enumeration_issue_priorities: Priorités des demandes
289 290 enumeration_doc_categories: Catégories des documents
@@ -1,354 +1,393
1 1 /* andreas08 - an open source xhtml/css website layout by Andreas Viklund - http://andreasviklund.com . Free to use in any way and for any purpose as long as the proper credits are given to the original designer. Version: 1.0, November 28, 2005 */
2 2 /* Edited by Jean-Philippe Lang *>
3 3 /**************** Body and tag styles ****************/
4 4
5 5
6 6 #header * {margin:0; padding:0;}
7 7 p, ul, ol, li {margin:0; padding:0;}
8 8
9 9
10 10 body{
11 11 font:76% Verdana,Tahoma,Arial,sans-serif;
12 12 line-height:1.4em;
13 13 text-align:center;
14 14 color:#303030;
15 15 background:#e8eaec;
16 margin:0;
16 17 }
17 18
18 19
19 20 a{
20 21 color:#467aa7;
21 22 font-weight:bold;
22 23 text-decoration:none;
23 24 background-color:inherit;
24 25 }
25 26
26 27 a:hover{color:#2a5a8a; text-decoration:none; background-color:inherit;}
27 28 a img{border:none;}
28 29
29 30 p{padding:0 0 1em 0;}
30 31 p form{margin-top:0; margin-bottom:20px;}
31 32
32 33 img.left,img.center,img.right{padding:4px; border:1px solid #a0a0a0;}
33 34 img.left{float:left; margin:0 12px 5px 0;}
34 35 img.center{display:block; margin:0 auto 5px auto;}
35 36 img.right{float:right; margin:0 0 5px 12px;}
36 37
37 38 /**************** Header and navigation styles ****************/
38 39
39 40 #container{
40 41 width:100%;
41 42 min-width: 800px;
42 margin:5px auto;
43 padding:1px 0;
43 margin:0;
44 padding:0;
44 45 text-align:left;
45 46 background:#ffffff;
46 47 color:#303030;
47 border:2px solid #a0a0a0;
48 48 }
49 49
50 50 #header{
51 height:5.5em;
51 height:4.5em;
52 52 /*width:758px;*/
53 margin:0 1px 1px 1px;
53 margin:0;
54 54 background:#467aa7;
55 55 color:#ffffff;
56 margin-bottom:1px;
56 57 }
57 58
58 59 #header h1{
59 padding:14px 0 0 20px;
60 font-size:2.4em;
60 padding:10px 0 0 20px;
61 font-size:1.8em;
61 62 background-color:inherit;
62 63 color:#fff; /*rgb(152, 26, 33);*/
63 64 letter-spacing:-2px;
64 65 font-weight:normal;
65 66 }
66 67
67 68 #header h2{
68 margin:10px 0 0 40px;
69 margin:3px 0 0 40px;
69 70 font-size:1.4em;
70 71 background-color:inherit;
71 72 color:#f0f2f4;
72 73 letter-spacing:-1px;
73 74 font-weight:normal;
74 75 }
75 76
76 77 #navigation{
77 78 height:2.2em;
78 79 line-height:2.2em;
79 80 /*width:758px;*/
80 margin:0 1px;
81 margin:0;
81 82 background:#578bb8;
82 83 color:#ffffff;
83 84 }
84 85
85 86 #navigation li{
86 87 float:left;
87 88 list-style-type:none;
88 89 border-right:1px solid #ffffff;
89 90 white-space:nowrap;
90 91 }
91 92
92 93 #navigation li.right {
93 94 float:right;
94 95 list-style-type:none;
95 96 border-right:0;
96 97 border-left:1px solid #ffffff;
97 98 white-space:nowrap;
98 99 }
99 100
100 101 #navigation li a{
101 102 display:block;
102 103 padding:0px 10px 0px 22px;
103 104 font-size:0.8em;
104 105 font-weight:normal;
105 106 /*text-transform:uppercase;*/
106 107 text-decoration:none;
107 108 background-color:inherit;
108 109 color: #ffffff;
109 110 }
110 111
111 112 * html #navigation a {width:1%;}
112 113
113 114 #navigation .selected,#navigation a:hover{
114 115 color:#ffffff;
115 116 text-decoration:none;
116 117 background-color: #80b0da;
117 118 }
118 119
119 120 /**************** Icons links *******************/
120 121 .picHome { background: url(../images/home.png) no-repeat 4px 50%; }
121 122 .picUser { background: url(../images/user.png) no-repeat 4px 50%; }
122 123 .picUserPage { background: url(../images/user_page.png) no-repeat 4px 50%; }
123 124 .picAdmin { background: url(../images/admin.png) no-repeat 4px 50%; }
124 125 .picProject { background: url(../images/projects.png) no-repeat 4px 50%; }
125 126 .picLogout { background: url(../images/logout.png) no-repeat 4px 50%; }
126 127 .picHelp { background: url(../images/help.png) no-repeat 4px 50%; }
127 128
128 129 /**************** Content styles ****************/
129 130
131 html>body #content {
132 height: auto;
133 min-height: 300px;
134 }
135
130 136 #content{
131 137 /*float:right;*/
132 138 /*width:530px;*/
133 139 width: auto;
134 min-height: 500px;
140 height:300px;
135 141 font-size:0.9em;
136 142 padding:20px 10px 10px 20px;
137 143 /*position: absolute;*/
138 margin: 0 0 0 140px;
144 margin-left: 120px;
139 145 border-left: 1px dashed #c0c0c0;
146
140 147 }
141 148
142 149 #content h2{
143 150 display:block;
144 151 margin:0 0 16px 0;
145 152 font-size:1.7em;
146 153 font-weight:normal;
147 154 letter-spacing:-1px;
148 155 color:#505050;
149 156 background-color:inherit;
150 157 }
151 158
152 159 #content h2 a{font-weight:normal;}
153 160 #content h3{margin:0 0 12px 0; font-size:1.4em; letter-spacing:-1px;}
154 161 #content a:hover,#subcontent a:hover{text-decoration:underline;}
155 162 #content ul,#content ol{margin:0 5px 16px 35px;}
156 163 #content dl{margin:0 5px 10px 25px;}
157 164 #content dt{font-weight:bold; margin-bottom:5px;}
158 165 #content dd{margin:0 0 10px 15px;}
159 166
160 167
161 168 /***********************************************/
162 169
163 170 /*
164 171 form{
165 172 padding:15px;
166 173 margin:0 0 20px 0;
167 174 border:1px solid #c0c0c0;
168 175 background-color:#CEE1ED;
169 176 width:600px;
170 177 }
171 178 */
172 179
173 180 form {
174 181 display: inline;
175 182 }
176 183
177 184 .noborder {
178 185 border:0px;
186 Exception exceptions.AssertionError: <exceptions.AssertionError instance at 0xb7c0b20c> in <bound
187 method SubversionRepository.__del__ of <vclib.svn.SubversionRepository instance at 0xb7c1252c>>
188 ignored
189
179 190 background-color:#fff;
180 191 width:100%;
181 192 }
182 193
183 194 textarea {
184 195 padding:0;
185 196 margin:0;
186 197 }
187 198
188 199 input {
189 vertical-align: top;
200 vertical-align: middle;
190 201 }
191 202
192 203 input.button-small
193 204 {
194 205 font-size: 0.8em;
195 206 }
196 207
197 208 select.select-small
198 209 {
199 210 border: 1px solid #7F9DB9;
200 211 padding: 1px;
201 212 font-size: 0.8em;
202 213 }
203 214
204 215 .active-filter
205 216 {
206 217 background-color: #F9FA9E;
207 218
208 219 }
209 220
210 221 label {
211 222 font-weight: bold;
212 223 font-size: 1em;
213 224 }
214 225
215 226 fieldset {
216 227 border:1px solid #7F9DB9;
217 228 padding: 6px;
218 229 }
219 230
220 231 legend {
221 232 color: #505050;
222 233
223 234 }
224 235
225 236 .required {
226 237 color: #bb0000;
227 238 }
228 239
229 240 table.listTableContent {
230 /*margin: 2em 2em 2em 0; */
231 border:1px solid #c0c0c0;
241 border:1px solid #578bb8;
232 242 width:99%;
243 border-collapse: collapse;
233 244 }
234 245
235 246 table.listTableContent td {
236 margin: 2px;
237
247 padding:4px;
238 248 }
239 249
240 250 tr.ListHead {
241 251 background-color:#467aa7;
242 252 color:#FFFFFF;
243 253 text-align:center;
244 254 }
245 255
246 256 tr.ListHead a {
247 257 color:#FFFFFF;
248 258 text-decoration:underline;
249 259 }
250 260
251 261 tr.odd {
252 background-color: #C1E2F7;
262 background-color:#f0f1f2;
253 263 }
254 264 tr.even {
255 background-color:#CEE1ED;
265 background-color: #fff;
256 266 }
257 267
258 268 hr { border:none; border-bottom: dotted 2px #c0c0c0; }
259 269
260 270
261 271 /**************** Sidebar styles ****************/
262 272
263 273 #subcontent{
264 274 float:left;
265 275 clear:both;
266 width:130px;
276 width:110px;
267 277 padding:20px 20px 10px 5px;
268 line-height:1.4em;
269 278 }
270 279
271 280 #subcontent h2{
272 281 display:block;
273 margin:0 0 15px 0;
274 font-size:1.6em;
275 font-weight:normal;
282 margin:0 0 5px 0;
283 font-size:1.0em;
284 font-weight:bold;
276 285 text-align:left;
277 286 letter-spacing:-1px;
278 color:#505050;
287 color:#606060;
279 288 background-color:inherit;
280 289 }
281 290
282 291 #subcontent p{margin:0 0 16px 0; font-size:0.9em;}
283 292
284 293 /**************** Menublock styles ****************/
285 294
286 .menublock{margin:0 0 20px 8px; font-size:0.9em;}
295 .menublock{margin:0 0 20px 8px; font-size:0.8em;}
287 296 .menublock li{list-style:none; display:block; padding:1px; margin-bottom:0px;}
288 297 .menublock li a{font-weight:bold; text-decoration:none;}
289 298 .menublock li a:hover{text-decoration:none;}
290 .menublock li ul{margin:3px 0 3px 15px; font-size:1em; font-weight:normal;}
299 .menublock li ul{margin:0; font-size:1em; font-weight:normal;}
291 300 .menublock li ul li{margin-bottom:0;}
292 301 .menublock li ul a{font-weight:normal;}
293 302
294 303 /**************** Searchbar styles ****************/
295 304
296 305 #searchbar{margin:0 0 20px 0;}
297 306 #searchbar form fieldset{margin-left:10px; border:0 solid;}
298 307
299 308 #searchbar #s{
300 309 height:1.2em;
301 310 width:110px;
302 311 margin:0 5px 0 0;
303 312 border:1px solid #a0a0a0;
304 313 }
305 314
306 315 #searchbar #searchbutton{
307 316 width:auto;
308 317 padding:0 1px;
309 318 border:1px solid #808080;
310 319 font-size:0.9em;
311 320 text-align:center;
312 321 }
313 322
314 323 /**************** Footer styles ****************/
315 324
316 325 #footer{
317 326 clear:both;
318 327 /*width:758px;*/
319 328 padding:5px 0;
320 margin:0 1px;
329 margin:0;
321 330 font-size:0.9em;
322 331 color:#f0f0f0;
323 332 background:#467aa7;
324 333 }
325 334
326 335 #footer p{padding:0; margin:0; text-align:center;}
327 336 #footer a{color:#f0f0f0; background-color:inherit; font-weight:bold;}
328 337 #footer a:hover{color:#ffffff; background-color:inherit; text-decoration: underline;}
329 338
330 339 /**************** Misc classes and styles ****************/
331 340
332 341 .splitcontentleft{float:left; width:49%;}
333 342 .splitcontentright{float:right; width:49%;}
334 343 .clear{clear:both;}
335 344 .small{font-size:0.8em;line-height:1.4em;padding:0 0 0 0;}
336 345 .hide{display:none;}
337 346 .textcenter{text-align:center;}
338 347 .textright{text-align:right;}
339 348 .important{color:#f02025; background-color:inherit; font-weight:bold;}
340 349
341 350 .box{
342 351 margin:0 0 20px 0;
343 352 padding:10px;
344 353 border:1px solid #c0c0c0;
345 354 background-color:#fafbfc;
346 355 color:#505050;
347 356 line-height:1.5em;
348 357 }
349 358
350 359 .login {
351 360 width: 50%;
352 361 text-align: left;
353 362 }
354 363
364
365 /***** CSS FORM ******/
366 .tabular p{
367 margin: 0;
368 padding: 5px 0 8px 0;
369 padding-left: 180px; /*width of left column containing the label elements*/
370 height: 1%;
371 }
372
373 .tabular label{
374 font-weight: bold;
375 float: left;
376 margin-left: -180px; /*width of left column*/
377 width: 175px; /*width of labels. Should be smaller than left column to create some right
378 margin*/
379 }
380
381 .error {
382 color: #cc0000;
383 }
384
385
386 /*.threepxfix class below:
387 Targets IE6- ONLY. Adds 3 pixel indent for multi-line form contents.
388 to account for 3 pixel bug: http://www.positioniseverything.net/explorer/threepxtest.html
389 */
390
391 * html .threepxfix{
392 margin-left: 3px;
393 } No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now