From 3be6de1e810b97e4194aab7068145f47d3686abd Mon Sep 17 00:00:00 2001
From: Paulo Meirelles
Date: Sat, 7 Jul 2012 00:47:49 +0400
Subject: [PATCH] [Mezuro] Refactoring project content, views and controller (profile)
---
plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb | 63 +++++++++++++++++++++++++++++++++++++--------------------------
plugins/mezuro/lib/mezuro_plugin/project_content.rb | 63 +++++++++++++++++++++++++++++++++++++++++++++++++--------------
plugins/mezuro/public/javascripts/project_content.js | 12 +++++++++++-
plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb | 6 +++---
plugins/mezuro/views/cms/mezuro_plugin/_project_content.html.erb | 16 ++++++++++++----
plugins/mezuro/views/content_viewer/_module_result.rhtml | 110 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------
plugins/mezuro/views/content_viewer/_project_error.rhtml | 4 ++--
plugins/mezuro/views/content_viewer/_project_result.rhtml | 93 ++++++++++++++++++++++++++++++++++++++++++++++++---------------------------------------------
plugins/mezuro/views/content_viewer/_score_history.rhtml | 2 +-
plugins/mezuro/views/content_viewer/_source_tree.rhtml | 76 ++++++++++++++++++++++++++++++++++++++++------------------------------------
plugins/mezuro/views/content_viewer/show_project.rhtml | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------
11 files changed, 312 insertions(+), 233 deletions(-)
diff --git a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
index 6a8e59d..f780113 100644
--- a/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
+++ b/plugins/mezuro/controllers/mezuro_plugin_profile_controller.rb
@@ -1,56 +1,67 @@
class MezuroPluginProfileController < ProfileController
append_view_path File.join(File.dirname(__FILE__) + '/../views')
-
+
def project_state
- content = profile.articles.find(params[:id])
- project = content.project
+ @content = profile.articles.find(params[:id])
+ project = @content.project
state = project.error.nil? ? project.state : "ERROR"
render :text => state
end
def project_error
- content = profile.articles.find(params[:id])
- project = content.project
- render :partial => 'content_viewer/project_error', :locals => { :project => project }
+ @content = profile.articles.find(params[:id])
+ @project = @content.project
+ render :partial => 'content_viewer/project_error'
end
def project_result
- content = profile.articles.find(params[:id])
+ @content = profile.articles.find(params[:id])
date = params[:date]
- project_result = date.nil? ? content.project_result : content.get_date_result(date)
- project = content.project
- render :partial => 'content_viewer/project_result', :locals => { :project_result => project_result}
+ @project_result = date.nil? ? @content.project_result : @content.get_date_result(date)
+ render :partial => 'content_viewer/project_result'
end
def module_result
- content = profile.articles.find(params[:id])
+ @content = profile.articles.find(params[:id])
date = params[:date]
- date.nil? ? content.project_result : content.get_date_result(date)
- module_result = content.module_result(params[:module_name])
- render :partial => 'content_viewer/module_result', :locals => { :module_result => module_result}
+ date.nil? ? @content.project_result : @content.get_date_result(date)
+ @module_result = @content.module_result(params[:module_name])
+ render :partial => 'content_viewer/module_result'
end
def project_tree
- content = profile.articles.find(params[:id])
+ @content = profile.articles.find(params[:id])
date = params[:date]
- project_result = date.nil? ? content.project_result : content.get_date_result(date)
- source_tree = project_result.node_of(params[:module_name])
- render :partial =>'content_viewer/source_tree', :locals => { :source_tree => source_tree, :project_name => content.project.name}
+ project_result = date.nil? ? @content.project_result : @content.get_date_result(date)
+ @project_name = @content.project.name
+ @source_tree = project_result.node_of(params[:module_name])
+ render :partial =>'content_viewer/source_tree'
end
def module_metrics_history
metric_name = params[:metric_name]
- content = profile.articles.find(params[:id])
- module_history = content.result_history(params[:module_name])
- score_history = (module_history.collect { |module_result| (module_result.metric_results.select { |metric_result| metric_result.metric.name.delete("() ") == metric_name })[0] }).collect { |metric_result| metric_result.value }
- render :partial => 'content_viewer/score_history', :locals => {:score_history => score_history}
+ @content = profile.articles.find(params[:id])
+ module_history = @content.result_history(params[:module_name])
+ @score_history = filtering_metric_history(metric_name, module_history)
+ render :partial => 'content_viewer/score_history'
end
def module_grade_history
- content = profile.articles.find(params[:id])
- modules_results = content.result_history(params[:module_name])
- score_history = modules_results.collect { |module_result| module_result.grade }
- render :partial => 'content_viewer/score_history', :locals => {:score_history => score_history}
+ @content = profile.articles.find(params[:id])
+ modules_results = @content.result_history(params[:module_name])
+ @score_history = modules_results.collect { |module_result| module_result.grade }
+ render :partial => 'content_viewer/score_history'
+ end
+
+ private
+
+ def filtering_metric_history(metric_name, module_history)
+ metric_history = module_history.collect do |module_result|
+ module_result.metric_results.select do |metric_result|
+ metric_result.metric.name.delete("() ") == metric_name
+ end
+ end
+ metric_history[0].collect{ |metric_result| metric_result.value }
end
end
diff --git a/plugins/mezuro/lib/mezuro_plugin/project_content.rb b/plugins/mezuro/lib/mezuro_plugin/project_content.rb
index 43909ca..7ad9919 100644
--- a/plugins/mezuro/lib/mezuro_plugin/project_content.rb
+++ b/plugins/mezuro/lib/mezuro_plugin/project_content.rb
@@ -1,6 +1,6 @@
class MezuroPlugin::ProjectContent < Article
- validate :validate_kalibro_project_name
-
+ validate_on_create :validate_kalibro_project_name
+ validate_on_create :validate_repository_url
def self.short_description
'Kalibro project'
end
@@ -20,17 +20,29 @@ class MezuroPlugin::ProjectContent < Article
def project
- @project ||= Kalibro::Client::ProjectClient.project(name)
+ begin
+ @project ||= Kalibro::Client::ProjectClient.project(name)
+ rescue Exception => error
+ errors.add_to_base(error.message)
+ end
end
def project_result
- @project_result ||= Kalibro::Client::ProjectResultClient.last_result(name)
+ begin
+ @project_result ||= Kalibro::Client::ProjectResultClient.last_result(name)
+ rescue Exception => error
+ errors.add_to_base(error.message)
+ end
end
def get_date_result(date)
- client = Kalibro::Client::ProjectResultClient.new
- @project_result ||= client.has_results_before(name, date) ? client.last_result_before(name, date) :
+ begin
+ client = Kalibro::Client::ProjectResultClient.new
+ @project_result ||= client.has_results_before(name, date) ? client.last_result_before(name, date) :
client.first_result_after(name, date)
+ rescue Exception => error
+ errors.add_to_base(error.message)
+ end
end
def module_result(module_name)
@@ -48,24 +60,47 @@ client.first_result_after(name, date)
private
def validate_kalibro_project_name
- existing = Kalibro::Client::ProjectClient.new.project_names
+ begin
+ existing = Kalibro::Client::ProjectClient.new.project_names
+ rescue Exception => error
+ errors.add_to_base(error.message)
+ end
- if existing.include?(name)
+ if existing.any?{|existing_name| existing_name.casecmp(name)==0} # existing.include?(name) + case insensitive
errors.add_to_base("Project name already exists in Kalibro")
end
end
-
+
+ def validate_repository_url
+ if(repository_url.nil? || repository_url == "")
+ errors.add_to_base("Repository URL is mandatory")
+ end
+ end
+
def send_project_to_service
- Kalibro::Client::ProjectClient.save(self)
- Kalibro::Client::KalibroClient.process_project(name, periodicity_in_days)
+ begin
+ Kalibro::Client::ProjectClient.save(self)
+ Kalibro::Client::KalibroClient.process_project(name, periodicity_in_days)
+ rescue Exception => error
+ errors.add_to_base(error.message)
+ end
+
end
def remove_project_from_service
- Kalibro::Client::ProjectClient.remove(name)
+ begin
+ Kalibro::Client::ProjectClient.remove(name)
+ rescue Exception => error
+ errors.add_to_base(error.message)
+ end
+
end
def module_result_client
- @module_result_client ||= Kalibro::Client::ModuleResultClient.new
+ begin
+ @module_result_client ||= Kalibro::Client::ModuleResultClient.new
+ rescue Exception => error
+ errors.add_to_base(error.message)
+ end
end
end
-
diff --git a/plugins/mezuro/public/javascripts/project_content.js b/plugins/mezuro/public/javascripts/project_content.js
index 9c1fc91..f40868d 100644
--- a/plugins/mezuro/public/javascripts/project_content.js
+++ b/plugins/mezuro/public/javascripts/project_content.js
@@ -5,6 +5,7 @@ jQuery(function (){
jQuery('[data-show]').live("click", toggle_mezuro);
jQuery('[show-metric-history]').live("click", display_metric_history);
jQuery('[show-grade-history]').live("click", display_grade_history);
+ jQuery('#project_date_submit').live("click", reloadProjectWithDate);
showLoadingProcess(true);
showProjectContent();
});
@@ -55,8 +56,17 @@ function reloadProjectWithDate(){
var month = jQuery("#project_date_month").val();
var year = jQuery("#project_date_year").val();
- var date = year + "-" + month + "-" + day + "T00:00:00+00:00";
+ if(day.length == 1)
+ day = "0" + day;
+ if(month.length == 1)
+ month = "0" + month;
+ var date = new Date(year + "-" + month + "-" + day + "T00:00:00+00:00");
+
+ if(isNaN(date)){
+ alert("Invalid date! " + date);
+ return false;
+ }
reloadProject(date);
return false;
}
diff --git a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb
index 2d24691..efddf78 100644
--- a/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb
+++ b/plugins/mezuro/test/functional/mezuro_plugin_profile_controller_test.rb
@@ -6,6 +6,7 @@ require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/error_fixtures"
require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/base_tool_fixtures"
require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/native_metric_fixtures"
require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/metric_configuration_fixtures"
+require "#{RAILS_ROOT}/plugins/mezuro/test/fixtures/repository_fixtures"
class MezuroPluginProfileControllerTest < ActionController::TestCase
@@ -17,6 +18,7 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase
@project_result = ProjectResultFixtures.qt_calculator
@module_result = ModuleResultFixtures.create
+ @repository_url = RepositoryFixtures.qt_calculator.address
@project = @project_result.project
@name = @project.name
@@ -66,7 +68,6 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase
should 'get project results without date' do
create_project_content
Kalibro::Client::ProjectResultClient.expects(:last_result).with(@name).returns(@project_result)
- Kalibro::Client::ProjectClient.expects(:project).with(@name).returns(@project)
get :project_result, :profile => @profile.identifier, :id => @content.id
assert_response 200
assert_select('h4', 'Last Result')
@@ -75,7 +76,6 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase
should 'get project results from a specific date' do
create_project_content
mock_project_result
- Kalibro::Client::ProjectClient.expects(:project).with(@name).returns(@project)
get :project_result, :profile => @profile.identifier, :id => @content.id, :date => @project_result.date
assert_response 200
end
@@ -90,7 +90,6 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase
mock_module_result
Kalibro::Client::ProjectResultClient.expects(:last_result).with(@name).returns(@project_result)
Kalibro::Client::ProjectClient.expects(:project).with(@name).returns(@project)
-
get :module_result, :profile => @profile.identifier, :id => @content.id, :module_name => @name
assert_response 200
assert_select('h5', 'Metric results for: Qt-Calculator (APPLICATION)')
@@ -157,6 +156,7 @@ class MezuroPluginProfileControllerTest < ActionController::TestCase
@content = MezuroPlugin::ProjectContent.new(:profile => @profile, :name => @name)
@content.expects(:send_project_to_service).returns(nil)
Kalibro::Client::ProjectClient.expects(:new).returns(client)
+ @content.repository_url = @repository_url
client.expects(:project_names).returns([])
@content.save
end
diff --git a/plugins/mezuro/views/cms/mezuro_plugin/_project_content.html.erb b/plugins/mezuro/views/cms/mezuro_plugin/_project_content.html.erb
index 6c1c616..e127b44 100644
--- a/plugins/mezuro/views/cms/mezuro_plugin/_project_content.html.erb
+++ b/plugins/mezuro/views/cms/mezuro_plugin/_project_content.html.erb
@@ -15,8 +15,11 @@
<%= hidden_field_tag 'id', @article.id %>
<%= required_fields_message %>
-
-<%= required f.text_field(:name) %>
+<% if !@project.nil? && !@article.id.nil? %>
+ <%= required f.text_field(:name, :disabled => 'true') %>
+<% else %>
+ <%= required f.text_field(:name) %>
+<% end %>
<%= f.text_field :license %>
@@ -31,9 +34,14 @@
<% @configuration_names = Kalibro::Client::ConfigurationClient.new.configuration_names.sort %>
<% @selected = (@project.nil? ? @configuration_names[0] : @project.configuration_name) %>
-<%= required labelled_form_field _('Configuration'),
- f.select(:configuration_name, @configuration_names, {:selected => @selected}) %>
+<% if !@project.nil? && !@article.id.nil? %>
+ <%= required labelled_form_field _('Configuration'),
+ f.select(:configuration_name, @configuration_names, {:selected => @selected}, :disabled => 'true') %>
+<% else %>
+ <%= required labelled_form_field _('Configuration'),
+ f.select(:configuration_name, @configuration_names, {:selected => @selected}) %>
+<% end %>
<% selected = (@project.nil? ? 0 : @kalibro_client.process_period(@article.title).to_i) %>
<%= required labelled_form_field _('Periodic Avaliation'),
diff --git a/plugins/mezuro/views/content_viewer/_module_result.rhtml b/plugins/mezuro/views/content_viewer/_module_result.rhtml
index d1194f0..3684b19 100644
--- a/plugins/mezuro/views/content_viewer/_module_result.rhtml
+++ b/plugins/mezuro/views/content_viewer/_module_result.rhtml
@@ -1,56 +1,60 @@
-<% the_module = module_result.module %>
-<% module_label = "#{the_module.name} (#{the_module.granularity})" %>
+<% unless @content.errors[:base].nil? %>
+ <%= @content.errors[:base] %>
+<% else %>
+ <% the_module = @module_result.module %>
+ <% module_label = "#{the_module.name} (#{the_module.granularity})" %>
-<%= _('Metric results for: ') + module_label %>
+ <%= _('Metric results for: ') + module_label %>
-
-
-
-
-
- Metric |
- Value |
- Weight |
- Threshold |
-
-
-
- <% module_result.metric_results.each do |metric_result| %>
- <% range = metric_result.range %>
- <% if !range.nil? %>
-
- <%= metric_result.metric.name %> |
- <%= MezuroPlugin::Helpers::ContentViewerHelper.format_grade(metric_result.value) %> |
- <%= metric_result.weight %> |
- <%= range.label %> |
-
-
-
-
- |
-
- <%= range.comments.nil? ? '' : range.comments %>
- |
-
+
+
+
+
+
+ Metric |
+ Value |
+ Weight |
+ Threshold |
+
+
+
+ <% @module_result.metric_results.each do |metric_result| %>
+ <% range = metric_result.range %>
+ <% if !range.nil? %>
+
+ <%= metric_result.metric.name %> |
+ <%= MezuroPlugin::Helpers::ContentViewerHelper.format_grade(metric_result.value) %> |
+ <%= metric_result.weight %> |
+ <%= range.label %> |
+
+
+
+
+ |
+
+ <%= range.comments.nil? ? '' : range.comments %>
+ |
+
+ <% end %>
<% end %>
- <% end %>
-
-
-
-
-
- |
-
-
-
- <%= _('Grade:') %>
- <%= "%.02f" % module_result.grade %>
-
-
- |
-
-
-
-
+
+
+
+
+
+ |
+
+
+
+ <%= _('Grade:') %>
+ <%= "%.02f" % @module_result.grade %>
+
+
+ |
+
+
+
+
+<% end %>
diff --git a/plugins/mezuro/views/content_viewer/_project_error.rhtml b/plugins/mezuro/views/content_viewer/_project_error.rhtml
index 5256e2c..0bb2c75 100644
--- a/plugins/mezuro/views/content_viewer/_project_error.rhtml
+++ b/plugins/mezuro/views/content_viewer/_project_error.rhtml
@@ -1,8 +1,8 @@
<%= _('ERROR') %>
- <%= "State when error ocurred: #{project.state}" %>
+ <%= "State when error ocurred: #{@project.state}" %>
- <% error = project.error %>
+ <% error = @project.error %>
<%= error.message %>
<% error.stack_trace.each do |trace| %>
diff --git a/plugins/mezuro/views/content_viewer/_project_result.rhtml b/plugins/mezuro/views/content_viewer/_project_result.rhtml
index d066657..126c7b7 100644
--- a/plugins/mezuro/views/content_viewer/_project_result.rhtml
+++ b/plugins/mezuro/views/content_viewer/_project_result.rhtml
@@ -1,48 +1,51 @@
-
-<% form_for :project_date, :html=>{:id=>"project_history_date"} do |f| %>
- <%= f.label :day, "Choose project date:" %>
+<% unless @content.errors[:base].nil? %>
+ <%= @content.errors[:base] %>
+<% else %>
+ <% form_for :project_date, :html=>{:id=>"project_history_date"} do |f| %>
+ <%= f.label :day, "Choose project date:" %>
-
-
-
- Day
- |
-
- Month
- |
-
- Year
- |
-
-
-
- <%= f.text_field :day, :size => 1, :maxlength => 2, :placeholder =>"dd" %>
- |
-
- <%= f.text_field :month, :size => 1, :maxlength => 2, :placeholder =>"mm" %>
- |
-
- <%= f.text_field :year, :size => 1, :maxlength => 4, :placeholder =>"yyyy" %>
- |
-
-
- <%= f.submit "Refresh" %>
-<% end %>
+
+
+
+ Day
+ |
+
+ Month
+ |
+
+ Year
+ |
+
+
+
+ <%= f.text_field :day, :size => 1, :maxlength => 2, :placeholder =>"dd" %>
+ |
+
+ <%= f.text_field :month, :size => 1, :maxlength => 2, :placeholder =>"mm" %>
+ |
+
+ <%= f.text_field :year, :size => 1, :maxlength => 4, :placeholder =>"yyyy" %>
+ |
+
+
+ <%= f.submit "Refresh" %>
+ <% end %>
-
-<%= _('Last Result') %>
+
+ <%= _('Last Result') %>
-
-
- <%= _('Date') %> |
- <%= project_result.date %> |
-
-
- <%= _('Load time') %> |
- <%= project_result.formatted_load_time %> |
-
-
- <%= _('Analysis time') %> |
- <%= project_result.formatted_analysis_time %> |
-
-
+
+
+ <%= _('Date') %> |
+ <%= @project_result.date %> |
+
+
+ <%= _('Load time') %> |
+ <%= @project_result.formatted_load_time %> |
+
+
+ <%= _('Analysis time') %> |
+ <%= @project_result.formatted_analysis_time %> |
+
+
+<% end %>
diff --git a/plugins/mezuro/views/content_viewer/_score_history.rhtml b/plugins/mezuro/views/content_viewer/_score_history.rhtml
index 698fe17..ee59fff 100644
--- a/plugins/mezuro/views/content_viewer/_score_history.rhtml
+++ b/plugins/mezuro/views/content_viewer/_score_history.rhtml
@@ -1,2 +1,2 @@
-<%= image_tag(MezuroPlugin::Helpers::ContentViewerHelper.generate_chart(score_history)) %>
+<%= image_tag(MezuroPlugin::Helpers::ContentViewerHelper.generate_chart(@score_history)) %>
diff --git a/plugins/mezuro/views/content_viewer/_source_tree.rhtml b/plugins/mezuro/views/content_viewer/_source_tree.rhtml
index e1f095d..8c7b315 100644
--- a/plugins/mezuro/views/content_viewer/_source_tree.rhtml
+++ b/plugins/mezuro/views/content_viewer/_source_tree.rhtml
@@ -1,41 +1,45 @@
-<%= _('Source tree') %>
-<% module_name = source_tree.module.name %>
-<% module_label = "#{module_name} (#{source_tree.module.granularity})" %>
+<% unless @content.errors[:base].nil? %>
+ <%= @content.errors[:base] %>
+<% else %>
+ <%= _('Source tree') %>
+ <% module_name = @source_tree.module.name %>
+ <% module_label = "#{module_name} (#{@source_tree.module.granularity})" %>
-
- <% if module_name != project_name %>
-
- <%= project_name %>
-
- <% end %>
+
+ <% if module_name != @project_name %>
+
+ <%= @project_name %>
+
+ <% end %>
- <% split_link = source_tree.module.ancestor_names %>
- <% split_link.each do |link| %>
- /
- <%= link.split(".").last %>
-
+ <% split_link = @source_tree.module.ancestor_names %>
+ <% split_link.each do |link| %>
+ /
+ <%= link.split(".").last %>
+
+ <% end %>
+
+
+ <% if @source_tree.children %>
+
+ <% @source_tree.children.each do |child| %>
+ <% if child.module.granularity=='PACKAGE' %>
+
+ <%= image_tag('/plugins/mezuro/images/folder.png')%> |
+ <%= child.module.name %> |
+
+ <% else %>
+
+ <%= image_tag('/plugins/mezuro/images/file.png') %> |
+
+
+ <%= child.module.name %>
+
+ |
+
+ <% end %>
+ <% end %>
+
<% end %>
-
-
-<% if source_tree.children %>
-
- <% source_tree.children.each do |child| %>
- <% if child.module.granularity=='PACKAGE' %>
-
- <%= image_tag('/plugins/mezuro/images/folder.png')%> |
- <%= child.module.name %> |
-
- <% else %>
-
- <%= image_tag('/plugins/mezuro/images/file.png') %> |
-
-
- <%= child.module.name %>
-
- |
-
- <% end %>
- <% end %>
-
<% end %>
diff --git a/plugins/mezuro/views/content_viewer/show_project.rhtml b/plugins/mezuro/views/content_viewer/show_project.rhtml
index ed7df36..1160ea6 100644
--- a/plugins/mezuro/views/content_viewer/show_project.rhtml
+++ b/plugins/mezuro/views/content_viewer/show_project.rhtml
@@ -1,57 +1,61 @@
<% @project = @page.project %>
-<% if (@project==nil) %>
- Warning:
- This project doesn't exist on the Web Service. Do you want to delete or save it again?
+<% unless @page.errors[:base].nil? %>
+ <%= @page.errors[:base] %>
<% else %>
+ <% if (@project==nil) %>
+ Warning:
+ This project doesn't exist on the Web Service. Do you want to delete or save it again?
+ <% else %>
-
-
- <%= _('Name') %> |
- <%= @project.name %> |
-
-
- <%= _('License') %> |
- <%= @project.license %> |
-
-
- <%= _('Description') %> |
- <%= @project.description %> |
-
-
- <%= _('Repository type') %> |
- <%= @project.repository.type %> |
-
-
- <%= _('Repository address') %> |
- <%= @project.repository.address %> |
-
-
- <%= _('Configuration') %> |
- <%= @project.configuration_name %> |
-
-
- <%= _('Periodicity') %> |
- <%= MezuroPlugin::Helpers::ContentViewerHelper.get_periodicity_option(@page.periodicity_in_days) %> |
-
-
- <%= _('Status')%> |
-
- <%= @project.state %>
-
- |
-
-
-
+
+
+ <%= _('Name') %> |
+ <%= @project.name %> |
+
+
+ <%= _('License') %> |
+ <%= @project.license %> |
+
+
+ <%= _('Description') %> |
+ <%= @project.description %> |
+
+
+ <%= _('Repository type') %> |
+ <%= @project.repository.type %> |
+
+
+ <%= _('Repository address') %> |
+ <%= @project.repository.address %> |
+
+
+ <%= _('Configuration') %> |
+ <%= @project.configuration_name %> |
+
+
+ <%= _('Periodicity') %> |
+ <%= MezuroPlugin::Helpers::ContentViewerHelper.get_periodicity_option(@page.periodicity_in_days) %> |
+
+
+ <%= _('Status')%> |
+
+ <%= @project.state %>
+
+ |
+
+
-
-
-
-
-
-<% end %>
+
+
+
+
+
+
+ <% end %>
+<% end %>
--
libgit2 0.21.2