diff --git a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb index b333ad1..e54aaa4 100644 --- a/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb +++ b/plugins/mezuro/controllers/profile/mezuro_plugin_repository_controller.rb @@ -2,7 +2,7 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController append_view_path File.join(File.dirname(__FILE__) + '/../../views') - def new_repository + def new @project_content = profile.articles.find(params[:id]) @repository_types = Kalibro::Repository.repository_types @@ -18,26 +18,39 @@ class MezuroPluginRepositoryController < MezuroPluginProfileController end end - def create_repository + def create project_content = profile.articles.find(params[:id]) - project_content_name = project_content.name repository = Kalibro::Repository.new( params[:repository] ) repository.save(project_content.project_id) if( repository.errors.empty? ) - redirect_to "/#{profile.identifier}/#{project_content_name.downcase.gsub(/\s/, '-')}" + redirect_to "/#{profile.identifier}/#{project_content.name.downcase.gsub(/\s/, '-')}" else redirect_to_error_page repository.errors[0].message end end - def show_repository + def show project_content = profile.articles.find(params[:id]) @project_name = project_content.name @repository = project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first @configuration_name = Kalibro::Configuration.find(@repository.configuration_id).name + @processing = processing(@repository.id) end + + def destroy + project_content = profile.articles.find(params[:id]) + repository = project_content.repositories.select{ |repository| repository.id == params[:repository_id].to_s }.first + repository.destroy + if( repository.errors.empty? ) + redirect_to "/#{profile.identifier}/#{project_content.name.downcase.gsub(/\s/, '-')}" + else + redirect_to_error_page repository.errors[0].message + end + end + + private def processing(repository_id) begin diff --git a/plugins/mezuro/lib/kalibro/repository.rb b/plugins/mezuro/lib/kalibro/repository.rb index ff38895..6746736 100644 --- a/plugins/mezuro/lib/kalibro/repository.rb +++ b/plugins/mezuro/lib/kalibro/repository.rb @@ -25,6 +25,7 @@ class Kalibro::Repository < Kalibro::Model def save(project_id) begin self.id = self.class.request(:save_repository, {:repository => self.to_hash, :project_id => project_id})[:repository_id] + process_repository true rescue Exception => exception add_error exception diff --git a/plugins/mezuro/public/javascripts/processing.js b/plugins/mezuro/public/javascripts/processing.js new file mode 100644 index 0000000..8950174 --- /dev/null +++ b/plugins/mezuro/public/javascripts/processing.js @@ -0,0 +1,135 @@ +var processingTree = false; +var metricName; +jQuery(function (){ + jQuery('.source-tree-link').live("click", reloadModule); + 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); + showProcessing(); +}); + +function showProcessing() { + callAction('processing', 'processing_state', {}, showProcessingFor); +} + +function display_metric_history() { + var module_name = jQuery(this).attr('data-module-name'); + var metric_name = jQuery(this).attr('show-metric-history'); + toggle_mezuro("." + metric_name); + metricName = metric_name; + callAction('module', 'module_metrics_history', {module_id: module_id, module_result_id: module_result_id}, show_metrics); + return false; +} + +function display_grade_history() { + var module_name = jQuery(this).attr('data-module-name'); + toggle_mezuro("#historical-grade"); + callAction('module', 'module_grade_history', {module_name: module_name}, show_grades); + return false; +} + +function show_metrics(content) { + jQuery('#historical-' + metricName).html(content); +} + +function show_grades(content) { + jQuery('#historical-grade').html(content); +} + +function toggle_mezuro(element){ + jQuery(element).toggle(); + return false; +} + +function reloadModule(){ + var results_root_id = jQuery(this).attr('results_root_id'); + showLoadingProcess(false); + processingTree = true; + callAction('module_result', 'project_tree', {results_root_id: results_root_id }, showProjectTree); + callAction('module_result', 'module_result', {results_root_id: results_root_id}, showModuleResult); + return false; +} + +function reloadProjectWithDate(date){ + reloadProject(date + "T00:00:00+00:00"); + return false; +} + +function reloadProject(date){ + showLoadingProcess(true); + + callAction('processing', 'processing', {date: date}, showProjectResult); + callAction('module_result', 'project_tree', {date: date}, showProjectTree); + callAction('module_result', 'module_result', {date: date}, showModuleResult); +} + +function showProcessingFor(state){ + if (state == 'ERROR') { + jQuery('#project-state').html('
");
+
+ showProjectTree("
");
+ showModuleResult("
");
+}
+
+function sourceNodeToggle(id){
+ var suffixes = ['_hidden', '_plus', '_minus'];
+ for (var i in suffixes)
+ jQuery('#' + id + suffixes[i]).toggle();
+}
diff --git a/plugins/mezuro/public/javascripts/project_content.js b/plugins/mezuro/public/javascripts/project_content.js
deleted file mode 100644
index a889498..0000000
--- a/plugins/mezuro/public/javascripts/project_content.js
+++ /dev/null
@@ -1,135 +0,0 @@
-var processingTree = false;
-var metricName;
-jQuery(function (){
- jQuery('.source-tree-link').live("click", reloadModule);
- 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();
-});
-
-function showProjectContent() {
- callAction('project', 'project_state', {}, showProjectContentFor);
-}
-
-function display_metric_history() {
- var module_name = jQuery(this).attr('data-module-name');
- var metric_name = jQuery(this).attr('show-metric-history');
- toggle_mezuro("." + metric_name);
- metricName = metric_name;
- callAction('module', 'module_metrics_history', {module_id: module_id, module_result_id: module_result_id}, show_metrics);
- return false;
-}
-
-function display_grade_history() {
- var module_name = jQuery(this).attr('data-module-name');
- toggle_mezuro("#historical-grade");
- callAction('module', 'module_grade_history', {module_name: module_name}, show_grades);
- return false;
-}
-
-function show_metrics(content) {
- jQuery('#historical-' + metricName).html(content);
-}
-
-function show_grades(content) {
- jQuery('#historical-grade').html(content);
-}
-
-function toggle_mezuro(element){
- jQuery(element).toggle();
- return false;
-}
-
-function reloadModule(){
- var module_name = jQuery(this).attr('data-module-name');
- showLoadingProcess(false);
- processingTree = true;
- callAction('project', 'project_tree', {module_name: module_name }, showProjectTree);
- callAction('module', 'module_result', {module_name: module_name}, showModuleResult);
- return false;
-}
-
-function reloadProjectWithDate(date){
- reloadProject(date + "T00:00:00+00:00");
- return false;
-}
-
-function reloadProject(date){
- showLoadingProcess(true);
-
- callAction('project', 'project_result', {date: date}, showProjectResult);
- callAction('project', 'project_tree', {date: date}, showProjectTree);
- callAction('module', 'module_result', {date: date}, showModuleResult);
-}
-
-function showProjectContentFor(state){
- if (state == 'ERROR') {
- jQuery('#project-state').html('
");
-
- showProjectTree("
");
- showModuleResult("
");
-}
-
-function sourceNodeToggle(id){
- var suffixes = ['_hidden', '_plus', '_minus'];
- for (var i in suffixes)
- jQuery('#' + id + suffixes[i]).toggle();
-}
diff --git a/plugins/mezuro/views/content_viewer/show_project.rhtml b/plugins/mezuro/views/content_viewer/show_project.rhtml
index 8201a9f..ea6d998 100644
--- a/plugins/mezuro/views/content_viewer/show_project.rhtml
+++ b/plugins/mezuro/views/content_viewer/show_project.rhtml
@@ -18,21 +18,29 @@
| <%= link_to repository.name, :controller => "mezuro_plugin_repository",
:profile => @page.profile.identifier,
- :action => "show_repository",
+ :action => "show",
:id => @page.id,
- :repository_id => repository.id %> + :repository_id => repository.id %> |
+ <%= link_to "#{image_tag ('/plugins/mezuro/images/minus.png')}", :controller => "mezuro_plugin_repository", + :profile => @page.profile.identifier, + :action => "destroy", + :id => @page.id, + :repository_id => repository.id %> | +
- <%= "Project Name: " + @project_name %> -
-- <%= "Name: " + @repository.name %> -
-- <%= "Description: " + @repository.description %> -
-- <%= "License: " + @repository.license %> -
-- <%= "Process Period: " + @repository.process_period %> -
-- <%= "Type: " + @repository.type %> -
-- <%= "Address: " + @repository.address %> -
-- <%= "Configuration: " + @configuration_name %> -
+ +| <%= _('Name') %> | +<%= @repository.name %> | +
| <%= _('Description') %> | +<%= @repository.description %> | +
| <%= _('License') %> | +<%= @repository.license %> | +
| <%= _('Process Period') %> | +<%= MezuroPlugin::Helpers::ContentViewerHelper.get_periodicity_option(@repository.process_period) %> | +
| <%= _('Type') %> | +<%= @repository.type %> | +
| <%= _('Address') %> | +<%= @repository.address %> | +
| <%= _('Configuration') %> | +<%= @configuration_name %> | +
| <%= _('Status')%> | +
+ <%= @processing.state %>
+
+ |
+