You've already forked baupm-core
Initial commit
This commit is contained in:
14
.dbdiff
Normal file
14
.dbdiff
Normal file
@@ -0,0 +1,14 @@
|
||||
server1:
|
||||
user: user
|
||||
password: password
|
||||
port: 3306
|
||||
host: 127.0.0.1
|
||||
server2:
|
||||
user: user
|
||||
password: password
|
||||
port: 3306
|
||||
host: 127.0.0.1
|
||||
template: ./.migrate.tmpl
|
||||
type: all
|
||||
include: all
|
||||
nocomments: true
|
||||
18
.editorconfig
Executable file
18
.editorconfig
Executable file
@@ -0,0 +1,18 @@
|
||||
# EditorConfig helps developers define and maintain consistent
|
||||
# coding styles between different editors and IDEs
|
||||
# editorconfig.org
|
||||
|
||||
root = true
|
||||
|
||||
|
||||
[*]
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
|
||||
end_of_line = lf
|
||||
charset = utf-8
|
||||
trim_trailing_whitespace = true
|
||||
insert_final_newline = true
|
||||
|
||||
[*.md]
|
||||
trim_trailing_whitespace = false
|
||||
8
.migrate.tmpl
Normal file
8
.migrate.tmpl
Normal file
@@ -0,0 +1,8 @@
|
||||
SQL_UP = u"""
|
||||
{{ $up }}
|
||||
"""
|
||||
|
||||
SQL_DOWN = u"""
|
||||
{{ $down }}
|
||||
"""
|
||||
|
||||
3
.vscode/settings.json
vendored
Normal file
3
.vscode/settings.json
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
{
|
||||
"nuxt.isNuxtApp": false
|
||||
}
|
||||
12
README.md
Normal file
12
README.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Redmine BauPM Core Plugin
|
||||
|
||||
Common modifications to run Redmine as project management tool on medium- and large-scale construction sites.
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
cd {redmine_dir}/plugins
|
||||
git clone http://laptop.local:4000/magdev/baupm-core.git baupm_core
|
||||
```
|
||||
|
||||
Now restart redmine and you're done.
|
||||
9
app/controllers/manifest_controller.rb
Executable file
9
app/controllers/manifest_controller.rb
Executable file
@@ -0,0 +1,9 @@
|
||||
class ManifestController < ApplicationController
|
||||
unloadable
|
||||
|
||||
skip_before_action :check_if_login_required
|
||||
|
||||
def index
|
||||
render :layout => false, :action => 'index'
|
||||
end
|
||||
end
|
||||
2
app/helpers/manifest_helper.rb
Normal file
2
app/helpers/manifest_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module ManifestHelper
|
||||
end
|
||||
21
app/views/application/_header.html.erb
Executable file
21
app/views/application/_header.html.erb
Executable file
@@ -0,0 +1,21 @@
|
||||
<%= javascript_include_tag "jquery-fab.min.js", :plugin => 'baupm_core' %>
|
||||
<%= javascript_include_tag "baupm.js", :plugin => 'baupm_core' %>
|
||||
<%= stylesheet_link_tag 'jquery-fab.css', :plugin => 'baupm_core', :media => "screen" %>
|
||||
<%= stylesheet_link_tag 'baupm.css', :plugin => 'baupm_core', :media => "screen" %>
|
||||
<link href="/themes/<%= Setting.ui_theme %>/images/icons/apple-touch-icon.png" rel="apple-touch-icon" type="image/png" sizes="180x180">
|
||||
<link href="/themes/<%= Setting.ui_theme %>/images/icons/favicon-32x32.png" sizes="32x32" rel="shortcut icon">
|
||||
<link href="/themes/<%= Setting.ui_theme %>/images/icons/favicon-16x16.png" rel="icon" type="image/png" sizes="16x16">
|
||||
<link href="/themes/<%= Setting.ui_theme %>/images/icons/favicon-32x32.png" rel="icon" type="image/png" sizes="32x32">
|
||||
<link href="/themes/<%= Setting.ui_theme %>/images/icons/safari-pinned-tab.svg" rel="mask-icon" size="any" color="<%= Setting.plugin_baupm_core['baupm_theme_color'] %>">
|
||||
<link href="/themes/<%= Setting.ui_theme %>/images/icons/android-chrome-192x192.png" rel="icon" sizes="192x192">
|
||||
<link href="/themes/<%= Setting.ui_theme %>/images/icons/android-chrome-256x256.png" rel="icon" sizes="256x256">
|
||||
<link href="/manifest.json" rel="manifest">
|
||||
<% if Setting.plugin_baupm_core['baupm_theme_color'].present? %>
|
||||
<meta name="theme-color" content="<%= Setting.plugin_baupm_core['baupm_theme_color'] %>">
|
||||
<% end %>
|
||||
<% if Setting.plugin_baupm_core['baupm_manifest_orientation'].present? %>
|
||||
<meta name="screen-orientation" content="<%= Setting.plugin_baupm_core['baupm_manifest_orientation'] %>">
|
||||
<% end %>
|
||||
<meta name="mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-capable" content="yes">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
41
app/views/manifest/index.json.erb
Executable file
41
app/views/manifest/index.json.erb
Executable file
@@ -0,0 +1,41 @@
|
||||
{
|
||||
"name": "<%= Setting.plugin_baupm_core['baupm_application_title'] %>",
|
||||
<% if Setting.plugin_baupm_core['baupm_application_short_title'].present? %>
|
||||
"short_name": "<%= Setting.plugin_baupm_core['baupm_application_short_title'] %>",
|
||||
<% end %>
|
||||
<% if Setting.plugin_baupm_core['baupm_application_description'].present? %>
|
||||
"description": "<%= Setting.plugin_baupm_core['baupm_application_description'] %>",
|
||||
<% end %>
|
||||
<% if Setting.plugin_baupm_core['baupm_manifest_display'].present? %>
|
||||
"display": "<%= Setting.plugin_baupm_core['baupm_manifest_display'] %>",
|
||||
<% end %>
|
||||
<% if Setting.plugin_baupm_core['baupm_manifest_orientation'].present? %>
|
||||
"orientation": "<%= Setting.plugin_baupm_core['baupm_manifest_orientation'] %>",
|
||||
<% end %>
|
||||
<% if Setting.plugin_baupm_core['baupm_manifest_start_url'].present? %>
|
||||
"start_url": "<%= Setting.plugin_baupm_core['baupm_manifest_start_url'] %>",
|
||||
<% end %>
|
||||
<% if Setting.plugin_baupm_core['baupm_theme_color'].present? %>
|
||||
"theme_color": "<%= Setting.plugin_baupm_core['baupm_theme_color'] %>",
|
||||
<% end %>
|
||||
<% if Setting.plugin_baupm_core['baupm_background_color'].present? %>
|
||||
"background_color": "<%= Setting.plugin_baupm_core['baupm_background_color'] %>",
|
||||
<% end %>
|
||||
"icons": [
|
||||
{
|
||||
"src": "/themes/<%= Setting.ui_theme %>/images/icons/android-chrome-192x192.png",
|
||||
"sizes": "192x192",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "/themes/<%= Setting.ui_theme %>/images/icons/android-chrome-256x256.png",
|
||||
"sizes": "256x256",
|
||||
"type": "image/png"
|
||||
},
|
||||
{
|
||||
"src": "/themes/<%= Setting.ui_theme %>/images/icons/apple-touch-icon.png",
|
||||
"sizes": "180x180",
|
||||
"type": "image/png"
|
||||
}
|
||||
]
|
||||
}
|
||||
95
app/views/settings/_baupm_settings.html.erb
Normal file
95
app/views/settings/_baupm_settings.html.erb
Normal file
@@ -0,0 +1,95 @@
|
||||
<fieldset class="baupm-settings">
|
||||
<legend><%= l(:baupm_manifest_settings) %></legend>
|
||||
<table>
|
||||
<tbody>
|
||||
<tr>
|
||||
<th><%= l(:baupm_application_title) %></th>
|
||||
<td>
|
||||
<input type="text" id="baupm_application_title" size="80"
|
||||
value="<%= settings['baupm_application_title'] %>"
|
||||
name="settings[baupm_application_title]" required>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><%= l(:baupm_application_short_title) %></th>
|
||||
<td>
|
||||
<input type="text" id="baupm_application_short_title" size="20"
|
||||
value="<%= settings['baupm_application_short_title'] %>"
|
||||
name="settings[baupm_application_short_title]" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><%= l(:baupm_application_description) %></th>
|
||||
<td>
|
||||
<input type="text" id="baupm_application_description" size="80"
|
||||
value="<%= settings['baupm_application_description'] %>"
|
||||
name="settings[baupm_application_description]" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><%= l(:baupm_manifest_orientation) %></th>
|
||||
<td>
|
||||
<select id="baupm_manifest_orientation"
|
||||
name="settings[baupm_manifest_orientation]">
|
||||
<option value="portrait"
|
||||
<% if settings['baupm_manifest_orientation'] == 'portrait' %> selected<% end %>>
|
||||
<%= l(:baupm_orientation_portrait) %>
|
||||
</option>
|
||||
<option value="landscape"
|
||||
<% if settings['baupm_manifest_orientation'] == 'landscape' %> selected<% end %>>
|
||||
<%= l(:baupm_orientation_landscape) %>
|
||||
</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><%= l(:baupm_manifest_display) %></th>
|
||||
<td>
|
||||
<select id="baupm_manifest_display"
|
||||
name="settings[baupm_manifest_display]">
|
||||
<option value="standalone"
|
||||
<% if settings['baupm_manifest_display'] == 'standalone' %> selected<% end %>>
|
||||
<%= l(:baupm_display_standalone) %>
|
||||
</option>
|
||||
<option value="fullscreen"
|
||||
<% if settings['baupm_manifest_display'] == 'fullscreen' %> selected<% end %>>
|
||||
<%= l(:baupm_display_fullscreen) %>
|
||||
</option>
|
||||
<option value="minimal-ui"
|
||||
<% if settings['baupm_manifest_display'] == 'minimal-ui' %> selected<% end %>>
|
||||
<%= l(:baupm_display_minimal_ui) %>
|
||||
</option>
|
||||
<option value="browser"
|
||||
<% if settings['baupm_manifest_display'] == 'browser' %> selected<% end %>>
|
||||
<%= l(:baupm_display_browser) %>
|
||||
</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><%= l(:baupm_manifest_start_url) %></th>
|
||||
<td>
|
||||
<input type="text" id="baupm_manifest_start_url" size="50"
|
||||
value="<%= settings['baupm_manifest_start_url'] %>"
|
||||
name="settings[baupm_manifest_start_url]" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><%= l(:baupm_theme_color) %></th>
|
||||
<td>
|
||||
<input type="color" id="settings_theme_color"
|
||||
value="<%= settings['baupm_theme_color'] %>"
|
||||
name="settings[baupm_theme_color]" >
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th><%= l(:baupm_background_color) %></th>
|
||||
<td>
|
||||
<input type="color" id="settings_background_color"
|
||||
value="<%= settings['baupm_background_color'] %>"
|
||||
name="settings[baupm_background_color]" >
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</fieldset>
|
||||
20
assets/javascripts/baupm.js
Normal file
20
assets/javascripts/baupm.js
Normal file
@@ -0,0 +1,20 @@
|
||||
$(document).ready(function() {
|
||||
$('#wrapper').append('<div id="fb-wrapper"></div>');
|
||||
var findLinks = function() {
|
||||
var elements = [];
|
||||
|
||||
$('#new-object').closest('li').find('.menu-children a').each(function() {
|
||||
elements.push({
|
||||
url: $(this).prop('href'),
|
||||
icon: '<i class="fb-icon icon-' + $(this).prop('class') + '" title="' + $(this).text() + '"></i>'
|
||||
});
|
||||
});
|
||||
elements.push({
|
||||
icon: '<i class="fb-icon icon-add"></i>'
|
||||
});
|
||||
return elements.reverse();
|
||||
};
|
||||
if ($('#new-object').get(0)) {
|
||||
$('#fb-wrapper').jqueryFab(findLinks(), {});
|
||||
}
|
||||
});
|
||||
9
assets/javascripts/jquery-fab.min.js
vendored
Normal file
9
assets/javascripts/jquery-fab.min.js
vendored
Normal file
@@ -0,0 +1,9 @@
|
||||
/*
|
||||
* Copyright 2015
|
||||
* Released under the MIT license
|
||||
* https://github.com/jeffersonrpn/jquery-fab/blob/master/LICENSE.md
|
||||
*
|
||||
* @author: Jefferson Neves <jefferson.rpn@gmail.com>
|
||||
* @version: 0.1.0
|
||||
*/
|
||||
!function(t){t.jfab||(t.jfab=new Object),t.jfab.fab=function(n,a,i){var l,o,e=this;e.$el=t(n),e.el=n,e.$el.data("kc.fab",e),e.$el.addClass("jfab_wrapper");var r=function(){t(this).attr("data-link-href").length>0&&(t(this).attr("data-link-target")?window.open(t(this).attr("data-link-href"),t(this).attr("data-link-target")):window.location.href=t(this).attr("data-link-href")),o.animate({opacity:"toggle",height:"toggle"},200),i.rotate&&l.toggleClass("rotate")},s=function(){o.animate({opacity:"hide",height:"hide"},100),i.rotate&&l.removeClass("rotate")};e.init=function(){if(("undefined"==typeof a||null===a)&&(a=[{url:null,bgcolor:"#e74c3c",icon:"+"}]),("undefined"==typeof i||null===i)&&(i={rotate:!1}),e.options=t.extend({},t.jfab.fab.defaultOptions,i),e.links=a,e.links.length>0){mainBtnLink=e.links[0],colorStyle=mainBtnLink.color?"color:"+mainBtnLink.color+";":"",bgColorStyle=mainBtnLink.bgcolor?"background-color:"+mainBtnLink.bgcolor+";":"",mainBtnLinkHtml="<button data-link-href='"+(mainBtnLink.url?mainBtnLink.url:"")+"' data-link-target='"+(mainBtnLink.target?mainBtnLink.target:"")+"'' class='jfab_main_btn' style='"+bgColorStyle+"'><span style='"+colorStyle+"'>"+mainBtnLink.icon+"</span></button>",subBtnsHtml="",e.links.shift();for(var n=0;n<e.links.length;n++)colorStyle=e.links[n].color?"color:"+e.links[n].color+";":"",bgColorStyle=e.links[n].bgcolor?"background-color:"+e.links[n].bgcolor+";":"",subBtnsHtml+="<div><button data-link-href='"+(e.links[n].url?e.links[n].url:"")+"' data-link-target='"+(e.links[n].target?e.links[n].target:"")+"' class='sub_fab_btn' style='"+bgColorStyle+"'><span style='"+colorStyle+"'>"+e.links[n].icon+"</span></button></div>";subBtnsHtml="<div class='jfab_btns_wrapper'>"+subBtnsHtml+"</div>",e.$el.append(subBtnsHtml).append(mainBtnLinkHtml)}else"undefined"==typeof console&&(window.console={log:function(t){alert(t)}}),console.log("Invalid links array param");l=e.$el.find(".jfab_main_btn"),o=e.$el.find(".jfab_btns_wrapper"),l.click(r),l.focusout(s),o.find(".sub_fab_btn").on("mousedown",function(){t(this).attr("data-link-href").length>0&&(t(this).attr("data-link-target")?window.open(t(this).attr("data-link-href"),t(this).attr("data-link-target")):window.location.href=t(this).attr("data-link-href"))})},e.init()},t.jfab.fab.defaultOptions={},t.fn.jqueryFab=function(n,a){return this.each(function(){new t.jfab.fab(this,n,a)})}}(jQuery);
|
||||
4
assets/stylesheets/baupm.css
Normal file
4
assets/stylesheets/baupm.css
Normal file
@@ -0,0 +1,4 @@
|
||||
.baupm-settings th {
|
||||
text-align: left!important;
|
||||
min-width: 130px;
|
||||
}
|
||||
86
assets/stylesheets/jquery-fab.css
Normal file
86
assets/stylesheets/jquery-fab.css
Normal file
@@ -0,0 +1,86 @@
|
||||
/*
|
||||
* Copyright 2015
|
||||
* Released under the MIT license
|
||||
* https://github.com/jeffersonrpn/jquery-fab/blob/master/LICENSE.md
|
||||
*
|
||||
* @author: Jefferson Neves <jefferson.rpn@gmail.com>
|
||||
* @version: 0.1.0
|
||||
*/
|
||||
.jfab_wrapper{
|
||||
z-index: 9999;
|
||||
width:100%;
|
||||
height:240px;
|
||||
position:fixed;
|
||||
right:0px;
|
||||
bottom:0px;
|
||||
pointer-events:none;
|
||||
}
|
||||
.jfab_btns_wrapper{
|
||||
right:0;
|
||||
bottom:75px;
|
||||
position:absolute;
|
||||
display:none;
|
||||
-webkit-transition: opacity 0.3s ease-in;
|
||||
-moz-transition: opacity 0.3s ease-in;
|
||||
-ms-transition: opacity 0.3s ease-in;
|
||||
-o-transition: opacity 0.3s ease-in;
|
||||
transition: opacity 0.3s ease-in;
|
||||
pointer-events:all;
|
||||
}
|
||||
.jfab_btns_wrapper.show{
|
||||
display:block;
|
||||
opacity: 1;
|
||||
}
|
||||
.jfab_btns_wrapper button{
|
||||
width:40px;
|
||||
height:40px;
|
||||
border-radius:100%;
|
||||
background:#e74c3c;
|
||||
margin-bottom:12px;
|
||||
margin-right:26px;
|
||||
padding:0;
|
||||
border:none;
|
||||
outline:none;
|
||||
color:#ffffff;
|
||||
font-size: 19px;
|
||||
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
|
||||
transition:.3s;
|
||||
pointer-events:all;
|
||||
cursor: pointer;
|
||||
}
|
||||
.jfab_btns_wrapper button:hover{
|
||||
box-shadow: 0 3px 6px rgba(0,0,0,0.32), 0 3px 6px rgba(0,0,0,0.46);
|
||||
}
|
||||
button.jfab_main_btn{
|
||||
background-color:#e74c3c;
|
||||
width:60px;
|
||||
height:60px;
|
||||
border-radius:100%;
|
||||
background:#e74c3c;
|
||||
right:16px;
|
||||
bottom:16px;
|
||||
position:absolute;
|
||||
margin-right:0;
|
||||
margin-bottom:0;
|
||||
padding:0;
|
||||
border:none;
|
||||
outline:none;
|
||||
color:#ffffff;
|
||||
font-size:24px;
|
||||
box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
|
||||
transition:.3s;
|
||||
-webkit-tap-highlight-color: rgba(0,0,0,0);
|
||||
cursor: pointer;
|
||||
pointer-events:all;
|
||||
}
|
||||
button:hover.jfab_main_btn{
|
||||
box-shadow: 0 3px 6px rgba(0,0,0,0.32), 0 3px 6px rgba(0,0,0,0.46);
|
||||
}
|
||||
.jfab_main_btn span{
|
||||
transition:.5s;
|
||||
}
|
||||
.jfab_main_btn.rotate {
|
||||
transform:rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
-webkit-transform: rotate(45deg);
|
||||
}
|
||||
184
config/locales/de.yml
Normal file
184
config/locales/de.yml
Normal file
@@ -0,0 +1,184 @@
|
||||
de:
|
||||
# BauPM related translations
|
||||
baupm_theme_color: Theme-Farbe
|
||||
baupm_background_color: Hintergrundfarbe
|
||||
baupm_manifest_settings: Webapp-Manifest-Einstellungen
|
||||
baupm_application_title: Name
|
||||
baupm_application_short_title: Kurzname
|
||||
baupm_application_description: Beschreibung
|
||||
baupm_manifest_start_url: Start-URL
|
||||
baupm_manifest_orientation: Ausrichtung
|
||||
baupm_manifest_display: Ansicht
|
||||
baupm_orientation_portrait: Hochformat
|
||||
baupm_orientation_landscape: Querformat
|
||||
baupm_display_standalone: Standalone
|
||||
baupm_display_browser: Browser
|
||||
baupm_display_fullscreen: Vollbild
|
||||
baupm_display_minimal_ui: Minimal
|
||||
|
||||
# Redmine translation modifications
|
||||
notice_unable_delete_version: Der Meilenstein konnte nicht gelöscht werden
|
||||
error_can_not_reopen_issue_on_closed_version: Diese Aufgabe ist einem abgeschlossenen Meilenstein zugeordnet und kann daher nicht wieder geöffnet werden.
|
||||
field_fixed_version: Meilenstein
|
||||
field_version: Meilenstein
|
||||
permission_manage_versions: Meilensteine verwalten
|
||||
label_version: Meilenstein
|
||||
label_version_new: Neuer Meilenstein
|
||||
label_version_plural: Meilensteine
|
||||
label_close_versions: Abgeschlossene Meilensteine schließen
|
||||
label_roadmap_no_issues: Keine Aufgaben für diesen Meilenstein
|
||||
label_current_version: Aktueller Meilenstein
|
||||
label_show_completed_versions: Abgeschlossene Meilensteine anzeigen
|
||||
setting_enabled_scm: Aktivierte Revisionskontrollsysteme
|
||||
label_scm: Revisionskontrollsystem
|
||||
text_scm_command_version: Revision
|
||||
label_completed_versions: Abgeschlossene Revisionen
|
||||
field_is_in_roadmap: In den Meilensteinen anzeigen
|
||||
label_roadmap: Meilensteine
|
||||
label_roadmap_due_in: "Fällig in %{value}"
|
||||
label_roadmap_overdue: "%{value} verspätet"
|
||||
field_login: Mitarbeitername
|
||||
field_attr_login: Mitarbeitername-Attribut
|
||||
permission_manage_members: Mitarbeiter verwalten
|
||||
label_member: Mitarbeiter
|
||||
label_member_new: Neuer Mitarbeiter
|
||||
label_member_plural: Mitarbeiter
|
||||
label_role_non_member: Kein Mitarbeiter
|
||||
project_module_wiki: "Dokumentation (Wiki)"
|
||||
label_wiki: Dokumentation
|
||||
label_overall_spent_time: Zeitaufwand aller Projekte anzeigen
|
||||
label_spent_time: Zeitaufwand
|
||||
label_total_spent_time: Zeitaufwand aller Projekte anzeigen
|
||||
label_gantt: Gantt-Plan
|
||||
label_gantt_progress_line: Fortschritt
|
||||
permission_view_gantt: Gantt-Plan anzeigen
|
||||
activerecord:
|
||||
errors:
|
||||
messages:
|
||||
cant_link_an_issue_with_a_descendant: "Eine Aufgabe kann nicht mit einer Ihrer Unteraufgaben verlinkt werden"
|
||||
earlier_than_minimum_start_date: "kann wegen einer Vorgängeraufgabe nicht vor %{date} liegen"
|
||||
open_issue_with_closed_parent: "Eine offene Aufgabe kann nicht an einen geschlossenen Vater gehängt werden"
|
||||
button_copy_and_follow: Kopieren und Aufgabe anzeigen
|
||||
button_move_and_follow: Verschieben und Aufgabe anzeigen
|
||||
enumeration_issue_priorities: Aufgaben-Prioritäten
|
||||
error_can_not_delete_tracker: Dieser Tracker enthält noch Aufgaben und kann nicht gelöscht werden.
|
||||
error_issue_done_ratios_not_updated: Der Aufgaben-Fortschritt wurde nicht aktualisiert.
|
||||
error_issue_not_found_in_project: 'Die Aufgabe wurde nicht gefunden oder gehört nicht zu diesem Projekt.'
|
||||
error_no_default_issue_status: Es ist kein Status als Standard definiert. Bitte überprüfen Sie Ihre Konfiguration (unter "Administration -> Aufgaben-Status").
|
||||
error_unable_delete_issue_status: "Der Aufgaben-Status konnte nicht gelöscht werden. (%{value})"
|
||||
field_assignable: Aufgaben können dieser Rolle zugewiesen werden
|
||||
field_is_closed: Aufgabe geschlossen
|
||||
field_issue: Aufgabe
|
||||
field_issue_to: Zugehörige Aufgabe
|
||||
field_issues_visibility: Augaben-Sichtbarkeit
|
||||
label_any_issues_in_project: irgendeine Aufgabe im Projekt
|
||||
label_any_issues_not_in_project: irgendeine Aufgabe nicht im Projekt
|
||||
label_assigned_to_me_issues: Mir zugewiesene Aufgaben
|
||||
label_attribute_of_issue: "%{name} der Aufgabe"
|
||||
label_bulk_edit_selected_issues: Alle ausgewählten Aufgaben bearbeiten
|
||||
label_issue: Aufgaben
|
||||
label_issue_added: Aufgabe hinzugefügt
|
||||
label_issue_category: Aufgaben-Kategorie
|
||||
label_issue_category_plural: Aufgaben-Kategorien
|
||||
label_issue_new: Neue Aufgabe
|
||||
label_issue_plural: Aufgaben
|
||||
label_issue_status: Aufgaben-Status
|
||||
label_issue_status_plural: Aufgaben-Status
|
||||
label_issue_tracking: Aufgaben
|
||||
label_issue_updated: Aufgabe aktualisiert
|
||||
label_issue_view_all: Alle Aufgaben anzeigen
|
||||
label_issue_watchers: Beobachter
|
||||
label_issues_by: "Aufgaben pro %{value}"
|
||||
label_issues_visibility_all: Alle Aufgaben
|
||||
label_issues_visibility_own: Aufgaben die folgender Benutzer erstellt hat oder die ihm zugewiesen sind
|
||||
label_issues_visibility_public: Alle öffentlichen Aufgaben
|
||||
label_link_copied_issue: Kopierte Aufgaben verlinken
|
||||
label_no_issues_in_project: Keine Aufgaben im Projekt vorhanden
|
||||
label_related_issues: Zugehörige Aufgaben
|
||||
label_reported_issues: Erstellte Aufgaben
|
||||
label_update_issue_done_ratios: Aufgaben-Fortschritt aktualisieren
|
||||
label_watched_issues: Beobachtete Aufgaben
|
||||
label_x_issues:
|
||||
zero: 0 Aufgaben
|
||||
one: 1 Aufgabe
|
||||
other: "%{count} Aufgaben"
|
||||
mail_body_reminder: "%{count} Aufgaben, die Ihnen zugewiesen sind, müssen in den nächsten %{days} Tagen abgegeben werden:"
|
||||
mail_subject_reminder: "%{count} Aufgaben müssen in den nächsten %{days} Tagen abgegeben werden"
|
||||
notice_failed_to_save_issues: "%{count} von %{total} ausgewählten Aufgaben konnte(n) nicht gespeichert werden: %{ids}."
|
||||
notice_issue_done_ratios_updated: Der Aufgaben-Fortschritt wurde aktualisiert.
|
||||
notice_issue_successful_create: Aufgabe %{id} erstellt.
|
||||
notice_issue_update_conflict: Die Aufgabe wurde während Ihrer Bearbeitung von einem anderen Nutzer überarbeitet.
|
||||
notice_no_issue_selected: "Keine Aufgabe ausgewählt! Bitte wählen Sie die Aufgaben, die Sie bearbeiten möchten."
|
||||
permission_add_issues: Aufgaben hinzufügen
|
||||
permission_delete_issues: Aufgaben löschen
|
||||
permission_edit_issues: Aufgaben bearbeiten
|
||||
permission_manage_categories: Aufgaben-Kategorien verwalten
|
||||
permission_manage_issue_relations: Aufgaben-Beziehungen verwalten
|
||||
permission_manage_related_issues: Zugehörige Aufgaben verwalten
|
||||
permission_set_issues_private: Aufgaben privat oder öffentlich markieren
|
||||
permission_set_own_issues_private: Eigene Aufgaben privat oder öffentlich markieren
|
||||
permission_view_issues: Aufgaben anzeigen
|
||||
project_module_issue_tracking: Aufgaben
|
||||
setting_commit_cross_project_ref: Erlaube Aufgaben aller anderen Projekte zu referenzieren
|
||||
setting_cross_project_issue_relations: Aufgaben-Beziehungen zwischen Projekten erlauben
|
||||
setting_default_issue_start_date_to_creation_date: Aktuelles Datum als Beginn für neue Aufgaben verwenden
|
||||
setting_display_subprojects_issues: Aufgaben aus Unterprojekten im Hauptprojekt anzeigen
|
||||
setting_issue_done_ratio: Berechne den Aufgaben-Fortschritt mittels
|
||||
setting_issue_done_ratio_issue_field: Aufgaben-Feld % erledigt
|
||||
setting_issue_done_ratio_issue_status: Aufgaben-Status
|
||||
setting_issue_group_assignment: Aufgabenzuweisung an Gruppen erlauben
|
||||
setting_issue_list_default_columns: Standard-Spalten in der Aufgabenliste
|
||||
setting_issues_export_limit: Max. Anzahl Aufgaben bei CSV/PDF-Export
|
||||
setting_link_copied_issue: Aufgaben beim Kopieren verlinken
|
||||
text_destroy_time_entries_question: Es wurden bereits %{hours} Stunden auf diese Aufgabe gebucht. Was soll mit den Aufwänden geschehen?
|
||||
text_issue_added: "Aufgabe %{id} wurde erstellt von %{author}."
|
||||
text_issue_category_destroy_question: "Einige Aufgaben (%{count}) sind dieser Kategorie zugeordnet. Was möchten Sie tun?"
|
||||
text_issue_category_reassign_to: Aufgaben dieser Kategorie zuordnen
|
||||
text_issue_updated: "Aufgabe %{id} wurde aktualisiert von %{author}."
|
||||
text_issues_destroy_confirmation: 'Sind Sie sicher, dass Sie die ausgewählten Aufgaben löschen möchten?'
|
||||
text_issues_ref_in_commit_messages: Aufgaben-Beziehungen und -Status in Commit-Nachrichten
|
||||
text_no_configuration_data: "Rollen, Tracker, Aufgaben-Status und Workflows wurden noch nicht konfiguriert.\nEs ist sehr zu empfehlen, die Standard-Konfiguration zu laden. Sobald sie geladen ist, können Sie diese abändern."
|
||||
text_reassign_time_entries: 'Gebuchte Aufwände dieser Aufgabe zuweisen:'
|
||||
label_search_open_issues_only: Nur offene Aufgaben
|
||||
permission_copy_issues: Aufgaben kopieren
|
||||
permission_import_issues: Aufgaben importieren
|
||||
label_import_issues: Aufgaben importieren
|
||||
label_assigned_issues: Zugewiesene Aufgaben
|
||||
label_any_open_issues: irgendeine offene Aufgabe
|
||||
label_no_open_issues: keine offene Aufgabe
|
||||
label_new_project_issue_tab_enabled: Tab "Neue Aufgabe" anzeigen
|
||||
error_no_projects_with_tracker_allowed_for_new_issue: Es gibt keine Projekte mit Trackern, für welche sie Aufgaben anlegen können
|
||||
error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Zeitbuchungen für Aufgaben, die gelöscht werden sind nicht möglich
|
||||
setting_show_status_changes_in_mail_subject: Zeige Statusänderungen im Betreff der Mailbenachrichtigung für Aufgaben
|
||||
permission_edit_own_issues: Eigene Aufgaben bearbeiten
|
||||
label_updated_issues: Aktualisierte Aufgaben
|
||||
field_history_default_tab: Standard-Tab für Aufgabenhistorie
|
||||
my_issues_due: "Meine berfälligen Aufgaben"
|
||||
my_issues_today : "Meine heutigen Aufgaben"
|
||||
my_issues_next : "Meine nächsten Aufgaben"
|
||||
issues_due: "Überfällige Aufgaben"
|
||||
issues_today : "Heutige Aufgaben"
|
||||
issues_next : "Nächste Aufgaben"
|
||||
my_issues_opened_closed_today : "Meine heutige offenen und geschlossenen Aufgaben"
|
||||
my_issues_summary : "Zusammenfassung meiner Aufgaben"
|
||||
my_issues_by_priority : "Meine Aufgaben nach Priorität"
|
||||
my_issues_by_status : "Meine Aufgaben nach Status"
|
||||
my_issues_by_tracker : "Meine Aufgabe nach Tracker"
|
||||
issue_template: Aufgabenvorlage
|
||||
about_template_help_message: Dies ist die Onlinehilfe für Aufgabenvorlagen in diesem Projekt.
|
||||
help_for_issue_title: "Der hier angegebene Text wird als Thema in die neue Aufgabe übernommen, falls die Vorlage ausgewählt wird."
|
||||
project_module_issue_templates: Aufgabenvorlagen
|
||||
text_no_tracker_enabled: Bisher wurde keine Konfiguration der Tracker und Aufgabenvorlagen für dieses Projekt vorgenommen.\nBitte konfigurieren Sie diese notwendige Einstellung, um die Funktion zu nutzen.
|
||||
global_issue_templates: Globale Aufgabenvorlagen
|
||||
no_issue_templates_for_this_redmine: Es sind keine globalen Aufgabenvorlagen definiert.
|
||||
label_apply_global_template_to_all_projects: "Wende Globale Aufgabenvorlagen auf alle Projekte an."
|
||||
note_apply_global_template_to_all_projects_setting_enabled: "Diese Globale Aufgabenvorlage wird auf alle Projekte angewendet weil das Vorlagen-Plugin entsprechend konfiguriert ist."
|
||||
project_module_default_custom_query: Angepasste Standardabfrage
|
||||
permission_manage_default_query: Standardabfrage verwalten
|
||||
field_query: Angepasste Standardabfrage
|
||||
default_custom_query:
|
||||
label_setting: Angepasste Standardabfrage
|
||||
label_view_default_issues: Standardanzeige für Aufgaben
|
||||
label_queries_for_all_projects: Für alle Projekte
|
||||
label_queries_for_current_project: Für das aktuelle Projekt
|
||||
text_allowed_queries: Nur öffentliche Abfragen auswählbar
|
||||
186
config/locales/en.yml
Normal file
186
config/locales/en.yml
Normal file
@@ -0,0 +1,186 @@
|
||||
en:
|
||||
# BauPM related translations
|
||||
baupm_theme_color: Theme-Color
|
||||
baupm_background_color: Background-Color
|
||||
baupm_manifest_settings: Webapp-Manifest-Settings
|
||||
baupm_application_title: Name
|
||||
baupm_application_short_title: Shortname
|
||||
baupm_application_description: Description
|
||||
baupm_manifest_start_url: Start-URL
|
||||
baupm_manifest_orientation: Orientation
|
||||
baupm_manifest_display: Display
|
||||
baupm_orientation_portrait: Potrait
|
||||
baupm_orientation_landscape: Landscape
|
||||
baupm_display_standalone: Standalone
|
||||
baupm_display_browser: Browser
|
||||
baupm_display_fullscreen: Fullscreen
|
||||
baupm_display_minimal_ui: Minimal UI
|
||||
|
||||
# Redmine translation modifications (@TODO Translate this)
|
||||
notice_unable_delete_version: Unable to delete the Milestone
|
||||
error_can_not_reopen_issue_on_closed_version: This Task is bound to a closed Milestone and cannot be opened again.
|
||||
field_fixed_version: Milestone
|
||||
field_version: Milestone
|
||||
permission_manage_versions: Manage Milestones
|
||||
label_version: Milestone
|
||||
label_version_new: New Milestone
|
||||
label_version_plural: Milestones
|
||||
label_close_versions: Close finished Milestones
|
||||
label_roadmap_no_issues: No Tasks for this Milestone
|
||||
label_current_version: Current Milestone
|
||||
label_show_completed_versions: Show closed Milestones
|
||||
setting_enabled_scm: Active Revision-Control-Systems
|
||||
label_scm: Revision-Control-System
|
||||
text_scm_command_version: Revision
|
||||
label_completed_versions: Closed Revisions
|
||||
field_is_in_roadmap: Show in Milestones
|
||||
label_roadmap: Milestones
|
||||
label_roadmap_due_in: "Due to %{value}"
|
||||
label_roadmap_overdue: "%{value} late"
|
||||
field_login: Employeename
|
||||
field_attr_login: Attribute for Employeename
|
||||
permission_manage_members: Manage Employees
|
||||
label_member: Employee
|
||||
label_member_new: New Employee
|
||||
label_member_plural: Employee
|
||||
label_role_non_member: No Employee
|
||||
project_module_wiki: "Documentation (Wiki)"
|
||||
label_wiki: Documentation
|
||||
|
||||
|
||||
label_overall_spent_time: Zeitaufwand aller Projekte anzeigen
|
||||
label_spent_time: Zeitaufwand
|
||||
label_total_spent_time: Zeitaufwand aller Projekte anzeigen
|
||||
label_gantt: Gantt-Plan
|
||||
label_gantt_progress_line: Fortschritt
|
||||
permission_view_gantt: Gantt-Plan anzeigen
|
||||
activerecord:
|
||||
errors:
|
||||
messages:
|
||||
cant_link_an_issue_with_a_descendant: "Eine Aufgabe kann nicht mit einer Ihrer Unteraufgaben verlinkt werden"
|
||||
earlier_than_minimum_start_date: "kann wegen einer Vorgängeraufgabe nicht vor %{date} liegen"
|
||||
open_issue_with_closed_parent: "Eine offene Aufgabe kann nicht an einen geschlossenen Vater gehängt werden"
|
||||
button_copy_and_follow: Kopieren und Aufgabe anzeigen
|
||||
button_move_and_follow: Verschieben und Aufgabe anzeigen
|
||||
enumeration_issue_priorities: Aufgaben-Prioritäten
|
||||
error_can_not_delete_tracker: Dieser Tracker enthält noch Aufgaben und kann nicht gelöscht werden.
|
||||
error_issue_done_ratios_not_updated: Der Aufgaben-Fortschritt wurde nicht aktualisiert.
|
||||
error_issue_not_found_in_project: 'Die Aufgabe wurde nicht gefunden oder gehört nicht zu diesem Projekt.'
|
||||
error_no_default_issue_status: Es ist kein Status als Standard definiert. Bitte überprüfen Sie Ihre Konfiguration (unter "Administration -> Aufgaben-Status").
|
||||
error_unable_delete_issue_status: "Der Aufgaben-Status konnte nicht gelöscht werden. (%{value})"
|
||||
field_assignable: Aufgaben können dieser Rolle zugewiesen werden
|
||||
field_is_closed: Aufgabe geschlossen
|
||||
field_issue: Aufgabe
|
||||
field_issue_to: Zugehörige Aufgabe
|
||||
field_issues_visibility: Augaben-Sichtbarkeit
|
||||
label_any_issues_in_project: irgendeine Aufgabe im Projekt
|
||||
label_any_issues_not_in_project: irgendeine Aufgabe nicht im Projekt
|
||||
label_assigned_to_me_issues: Mir zugewiesene Aufgaben
|
||||
label_attribute_of_issue: "%{name} der Aufgabe"
|
||||
label_bulk_edit_selected_issues: Alle ausgewählten Aufgaben bearbeiten
|
||||
label_issue: Aufgaben
|
||||
label_issue_added: Aufgabe hinzugefügt
|
||||
label_issue_category: Aufgaben-Kategorie
|
||||
label_issue_category_plural: Aufgaben-Kategorien
|
||||
label_issue_new: Neue Aufgabe
|
||||
label_issue_plural: Aufgaben
|
||||
label_issue_status: Aufgaben-Status
|
||||
label_issue_status_plural: Aufgaben-Status
|
||||
label_issue_tracking: Aufgaben
|
||||
label_issue_updated: Aufgabe aktualisiert
|
||||
label_issue_view_all: Alle Aufgaben anzeigen
|
||||
label_issue_watchers: Beobachter
|
||||
label_issues_by: "Aufgaben pro %{value}"
|
||||
label_issues_visibility_all: Alle Aufgaben
|
||||
label_issues_visibility_own: Aufgaben die folgender Benutzer erstellt hat oder die ihm zugewiesen sind
|
||||
label_issues_visibility_public: Alle öffentlichen Aufgaben
|
||||
label_link_copied_issue: Kopierte Aufgaben verlinken
|
||||
label_no_issues_in_project: Keine Aufgaben im Projekt vorhanden
|
||||
label_related_issues: Zugehörige Aufgaben
|
||||
label_reported_issues: Erstellte Aufgaben
|
||||
label_update_issue_done_ratios: Aufgaben-Fortschritt aktualisieren
|
||||
label_watched_issues: Beobachtete Aufgaben
|
||||
label_x_issues:
|
||||
zero: 0 Aufgaben
|
||||
one: 1 Aufgabe
|
||||
other: "%{count} Aufgaben"
|
||||
mail_body_reminder: "%{count} Aufgaben, die Ihnen zugewiesen sind, müssen in den nächsten %{days} Tagen abgegeben werden:"
|
||||
mail_subject_reminder: "%{count} Aufgaben müssen in den nächsten %{days} Tagen abgegeben werden"
|
||||
notice_failed_to_save_issues: "%{count} von %{total} ausgewählten Aufgaben konnte(n) nicht gespeichert werden: %{ids}."
|
||||
notice_issue_done_ratios_updated: Der Aufgaben-Fortschritt wurde aktualisiert.
|
||||
notice_issue_successful_create: Aufgabe %{id} erstellt.
|
||||
notice_issue_update_conflict: Die Aufgabe wurde während Ihrer Bearbeitung von einem anderen Nutzer überarbeitet.
|
||||
notice_no_issue_selected: "Keine Aufgabe ausgewählt! Bitte wählen Sie die Aufgaben, die Sie bearbeiten möchten."
|
||||
permission_add_issues: Aufgaben hinzufügen
|
||||
permission_delete_issues: Aufgaben löschen
|
||||
permission_edit_issues: Aufgaben bearbeiten
|
||||
permission_manage_categories: Aufgaben-Kategorien verwalten
|
||||
permission_manage_issue_relations: Aufgaben-Beziehungen verwalten
|
||||
permission_manage_related_issues: Zugehörige Aufgaben verwalten
|
||||
permission_set_issues_private: Aufgaben privat oder öffentlich markieren
|
||||
permission_set_own_issues_private: Eigene Aufgaben privat oder öffentlich markieren
|
||||
permission_view_issues: Aufgaben anzeigen
|
||||
project_module_issue_tracking: Aufgaben
|
||||
setting_commit_cross_project_ref: Erlaube Aufgaben aller anderen Projekte zu referenzieren
|
||||
setting_cross_project_issue_relations: Aufgaben-Beziehungen zwischen Projekten erlauben
|
||||
setting_default_issue_start_date_to_creation_date: Aktuelles Datum als Beginn für neue Aufgaben verwenden
|
||||
setting_display_subprojects_issues: Aufgaben aus Unterprojekten im Hauptprojekt anzeigen
|
||||
setting_issue_done_ratio: Berechne den Aufgaben-Fortschritt mittels
|
||||
setting_issue_done_ratio_issue_field: Aufgaben-Feld % erledigt
|
||||
setting_issue_done_ratio_issue_status: Aufgaben-Status
|
||||
setting_issue_group_assignment: Aufgabenzuweisung an Gruppen erlauben
|
||||
setting_issue_list_default_columns: Standard-Spalten in der Aufgabenliste
|
||||
setting_issues_export_limit: Max. Anzahl Aufgaben bei CSV/PDF-Export
|
||||
setting_link_copied_issue: Aufgaben beim Kopieren verlinken
|
||||
text_destroy_time_entries_question: Es wurden bereits %{hours} Stunden auf diese Aufgabe gebucht. Was soll mit den Aufwänden geschehen?
|
||||
text_issue_added: "Aufgabe %{id} wurde erstellt von %{author}."
|
||||
text_issue_category_destroy_question: "Einige Aufgaben (%{count}) sind dieser Kategorie zugeordnet. Was möchten Sie tun?"
|
||||
text_issue_category_reassign_to: Aufgaben dieser Kategorie zuordnen
|
||||
text_issue_updated: "Aufgabe %{id} wurde aktualisiert von %{author}."
|
||||
text_issues_destroy_confirmation: 'Sind Sie sicher, dass Sie die ausgewählten Aufgaben löschen möchten?'
|
||||
text_issues_ref_in_commit_messages: Aufgaben-Beziehungen und -Status in Commit-Nachrichten
|
||||
text_no_configuration_data: "Rollen, Tracker, Aufgaben-Status und Workflows wurden noch nicht konfiguriert.\nEs ist sehr zu empfehlen, die Standard-Konfiguration zu laden. Sobald sie geladen ist, können Sie diese abändern."
|
||||
text_reassign_time_entries: 'Gebuchte Aufwände dieser Aufgabe zuweisen:'
|
||||
label_search_open_issues_only: Nur offene Aufgaben
|
||||
permission_copy_issues: Aufgaben kopieren
|
||||
permission_import_issues: Aufgaben importieren
|
||||
label_import_issues: Aufgaben importieren
|
||||
label_assigned_issues: Zugewiesene Aufgaben
|
||||
label_any_open_issues: irgendeine offene Aufgabe
|
||||
label_no_open_issues: keine offene Aufgabe
|
||||
label_new_project_issue_tab_enabled: Tab "Neue Aufgabe" anzeigen
|
||||
error_no_projects_with_tracker_allowed_for_new_issue: Es gibt keine Projekte mit Trackern, für welche sie Aufgaben anlegen können
|
||||
error_cannot_reassign_time_entries_to_an_issue_about_to_be_deleted: Zeitbuchungen für Aufgaben, die gelöscht werden sind nicht möglich
|
||||
setting_show_status_changes_in_mail_subject: Zeige Statusänderungen im Betreff der Mailbenachrichtigung für Aufgaben
|
||||
permission_edit_own_issues: Eigene Aufgaben bearbeiten
|
||||
label_updated_issues: Aktualisierte Aufgaben
|
||||
field_history_default_tab: Standard-Tab für Aufgabenhistorie
|
||||
my_issues_due: "Meine berfälligen Aufgaben"
|
||||
my_issues_today : "Meine heutigen Aufgaben"
|
||||
my_issues_next : "Meine nächsten Aufgaben"
|
||||
issues_due: "Überfällige Aufgaben"
|
||||
issues_today : "Heutige Aufgaben"
|
||||
issues_next : "Nächste Aufgaben"
|
||||
my_issues_opened_closed_today : "Meine heutige offenen und geschlossenen Aufgaben"
|
||||
my_issues_summary : "Zusammenfassung meiner Aufgaben"
|
||||
my_issues_by_priority : "Meine Aufgaben nach Priorität"
|
||||
my_issues_by_status : "Meine Aufgaben nach Status"
|
||||
my_issues_by_tracker : "Meine Aufgabe nach Tracker"
|
||||
issue_template: Aufgabenvorlage
|
||||
about_template_help_message: Dies ist die Onlinehilfe für Aufgabenvorlagen in diesem Projekt.
|
||||
help_for_issue_title: "Der hier angegebene Text wird als Thema in die neue Aufgabe übernommen, falls die Vorlage ausgewählt wird."
|
||||
project_module_issue_templates: Aufgabenvorlagen
|
||||
text_no_tracker_enabled: Bisher wurde keine Konfiguration der Tracker und Aufgabenvorlagen für dieses Projekt vorgenommen.\nBitte konfigurieren Sie diese notwendige Einstellung, um die Funktion zu nutzen.
|
||||
global_issue_templates: Globale Aufgabenvorlagen
|
||||
no_issue_templates_for_this_redmine: Es sind keine globalen Aufgabenvorlagen definiert.
|
||||
label_apply_global_template_to_all_projects: "Wende Globale Aufgabenvorlagen auf alle Projekte an."
|
||||
note_apply_global_template_to_all_projects_setting_enabled: "Diese Globale Aufgabenvorlage wird auf alle Projekte angewendet weil das Vorlagen-Plugin entsprechend konfiguriert ist."
|
||||
project_module_default_custom_query: Angepasste Standardabfrage
|
||||
permission_manage_default_query: Standardabfrage verwalten
|
||||
field_query: Angepasste Standardabfrage
|
||||
default_custom_query:
|
||||
label_setting: Angepasste Standardabfrage
|
||||
label_view_default_issues: Standardanzeige für Aufgaben
|
||||
label_queries_for_all_projects: Für alle Projekte
|
||||
label_queries_for_current_project: Für das aktuelle Projekt
|
||||
text_allowed_queries: Nur öffentliche Abfragen auswählbar
|
||||
5
config/routes.rb
Normal file
5
config/routes.rb
Normal file
@@ -0,0 +1,5 @@
|
||||
if Redmine::Plugin.installed? :baupm_core
|
||||
RedmineApp::Application.routes.draw do
|
||||
get '/manifest.json', :controller => 'manifest', :action => 'index', :as => 'manifest_json'
|
||||
end
|
||||
end
|
||||
27
init.rb
Normal file
27
init.rb
Normal file
@@ -0,0 +1,27 @@
|
||||
require 'redmine'
|
||||
|
||||
class Hooks < Redmine::Hook::ViewListener
|
||||
render_on :view_layouts_base_html_head, :partial => 'header', :layout => false
|
||||
end
|
||||
|
||||
Redmine::Plugin.register :baupm_core do
|
||||
name 'BauPM Core Plugin'
|
||||
url 'https://git.bundespruefstelle.ch/magdev/baupm_core'
|
||||
author 'Marco Grätsch'
|
||||
author_url 'https://github.com/magdev'
|
||||
description "Common modifications for BauPM"
|
||||
version '0.1.0'
|
||||
|
||||
requires_redmine :version_or_higher => '4.1.0'
|
||||
|
||||
settings :default => {
|
||||
'baupm_background_color' => '#ffffff',
|
||||
'baupm_theme_color' => '#575757',
|
||||
'baupm_application_title' => 'BauPM',
|
||||
'baupm_application_short_title' => 'BauPM',
|
||||
'baupm_application_description' => 'Baustellen-Management-System auf Redmine-Basis',
|
||||
'baupm_manifest_orientation' => 'portrait',
|
||||
'baupm_manifest_display' => 'standalone',
|
||||
'baupm_manifest_start_url' => '.'
|
||||
}, :partial => 'settings/baupm_settings'
|
||||
end
|
||||
7
scripts/crontab
Normal file
7
scripts/crontab
Normal file
@@ -0,0 +1,7 @@
|
||||
|
||||
# Fetch emails
|
||||
*/5 * * * * /home/bitnami/apps/redmine/fetch-mails >/dev/null 2>&1
|
||||
|
||||
# Update Letsencrypt Certificate
|
||||
#### Don't forget to set the --email and --domain arguments! ####
|
||||
# 0 0 * * * sudo /opt/bitnami/letsencrypt/lego --path /opt/bitnami/letsencrypt --email="" --http --http-timeout 30 --http.webroot /opt/bitnami/apps/letsencrypt --domains="" renew && sudo /opt/bitnami/apache2/bin/httpd -f /opt/bitnami/apache2/conf/httpd.conf -k graceful
|
||||
43
scripts/fetch-mails.sh
Normal file
43
scripts/fetch-mails.sh
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Email-address of the system
|
||||
mail_address=""
|
||||
|
||||
# Email-Account username and password
|
||||
mail_username="$mail_address"
|
||||
mail_password=""
|
||||
|
||||
# IMAP-Server address and port
|
||||
mail_host=""
|
||||
mail_port=993
|
||||
mail_ssl=true
|
||||
|
||||
# IMAP-INBOX-Folder
|
||||
mail_folder="INBOX"
|
||||
|
||||
# Default project and tracker
|
||||
project="meta"
|
||||
tracker="Support"
|
||||
|
||||
# Redmine Settings
|
||||
unknown_user_action="ignore"
|
||||
allow_override="all"
|
||||
no_permission_check=true
|
||||
app_root="/home/bitnami/apps/redmine/htdocs"
|
||||
|
||||
if [[ -n "$mail_address" ]] && [[ -n "$mail_username" ]] && [[ -n "$mail_password" ]] && [[ -n "$mail_host" ]]; then
|
||||
sudo /opt/bitnami/ruby/bin/rake -f $app_root/Rakefile --silent redmine:email:receive_imap RAILS_ENV="production" \
|
||||
host="$mail_host" \
|
||||
port=$mail_port \
|
||||
username="$mail_username" \
|
||||
password="$mail_password" \
|
||||
ssl=$mail_ssl \
|
||||
move_on_success="$mail_folder.success" \
|
||||
move_on_failure="$mail_folder.failed" \
|
||||
unknown_user="$unknown_user_action" \
|
||||
tracker="$tracker" \
|
||||
allow_override="$allow_override" \
|
||||
folder="$mail_folder" \
|
||||
project="$project" \
|
||||
no_permission_check=$no_permission_check
|
||||
fi
|
||||
22
scripts/git-post-receive.sh
Normal file
22
scripts/git-post-receive.sh
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
TARGET="/home/bitnami/apps/redmine/htdocs/public/themes/Ossig"
|
||||
GIT_DIR="/repo/ossig-theme.git"
|
||||
BRANCH="master"
|
||||
RESTART_APACHE=""
|
||||
|
||||
# shellcheck disable=SC2034
|
||||
# shellcheck disable=SC2162
|
||||
while read oldrev newrev ref; do
|
||||
if [ "$ref" = "refs/heads/$BRANCH" ]; then
|
||||
echo "Ref $ref received. Deploying ${BRANCH} branch to production..."
|
||||
git --work-tree=$TARGET --git-dir=$GIT_DIR checkout -f $BRANCH
|
||||
|
||||
if [[ -n $RESTART_APACHE ]]; then
|
||||
echo "Restarting Apache Webserver"
|
||||
sudo "$HOME/stack/ctlscript.sh" restart apache >>/dev/null 2>&1
|
||||
fi
|
||||
else
|
||||
echo "Ref $ref received. Doing nothing: only the ${BRANCH} branch may be deployed on this server."
|
||||
fi
|
||||
done
|
||||
Reference in New Issue
Block a user