changeset 810:bd57d1cb9dc3 beta

fixes #62, added option to disable statistics for each repository
author Marcin Kuzminski <marcin@python-works.com>
date Sun, 05 Dec 2010 15:47:49 +0100
parents 7b18e7ca66da
children bb35ad076e2f
files rhodecode/controllers/summary.py rhodecode/model/db.py rhodecode/model/forms.py rhodecode/templates/admin/repos/repo_edit.html rhodecode/templates/summary/summary.html
diffstat 5 files changed, 33 insertions(+), 13 deletions(-) [+]
line wrap: on
line diff
--- a/rhodecode/controllers/summary.py	Sun Dec 05 03:00:42 2010 +0100
+++ b/rhodecode/controllers/summary.py	Sun Dec 05 15:47:49 2010 +0100
@@ -24,20 +24,28 @@
 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 # MA  02110-1301, USA.
 
+import calendar
+import logging
+from time import mktime
+from datetime import datetime, timedelta
+
+from vcs.exceptions import ChangesetError
+
 from pylons import tmpl_context as c, request, url
-from vcs.exceptions import ChangesetError
+from pylons.i18n.translation import _
+
+from rhodecode.model.scm import ScmModel
+from rhodecode.model.db import Statistics
+
 from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator
 from rhodecode.lib.base import BaseController, render
 from rhodecode.lib.utils import OrderedDict, EmptyChangeset
-from rhodecode.model.scm import ScmModel
-from rhodecode.model.db import Statistics
-from webhelpers.paginate import Page
+
 from rhodecode.lib.celerylib import run_task
 from rhodecode.lib.celerylib.tasks import get_commits_stats
-from datetime import datetime, timedelta
-from time import mktime
-import calendar
-import logging
+
+from webhelpers.paginate import Page
+
 try:
     import json
 except ImportError:
@@ -102,8 +110,11 @@
                             d, 0, 0, 0, 0, 0, 0,))
 
         ts_max_y = mktime((y, m, d, 0, 0, 0, 0, 0, 0,))
-
-        run_task(get_commits_stats, c.repo_info.name, ts_min_y, ts_max_y)
+        if c.repo_info.dbrepo.enable_statistics:
+            c.no_data_msg = _('No data loaded yet')
+            run_task(get_commits_stats, c.repo_info.name, ts_min_y, ts_max_y)
+        else:
+            c.no_data_msg = _('Statistics are disabled for this repository')
         c.ts_min = ts_min_m
         c.ts_max = ts_max_y
 
--- a/rhodecode/model/db.py	Sun Dec 05 03:00:42 2010 +0100
+++ b/rhodecode/model/db.py	Sun Dec 05 15:47:49 2010 +0100
@@ -122,6 +122,7 @@
     repo_type = Column("repo_type", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None)
     user_id = Column("user_id", Integer(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None)
     private = Column("private", Boolean(), nullable=True, unique=None, default=None)
+    enable_statistics = Column("statistics", Boolean(), nullable=True, unique=None, default=True)
     description = Column("description", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None)
     fork_id = Column("fork_id", Integer(), ForeignKey(u'repositories.repo_id'), nullable=True, unique=False, default=None)
 
--- a/rhodecode/model/forms.py	Sun Dec 05 03:00:42 2010 +0100
+++ b/rhodecode/model/forms.py	Sun Dec 05 15:47:49 2010 +0100
@@ -400,6 +400,7 @@
                         ValidRepoName(edit, old_data))
         description = UnicodeString(strip=True, min=1, not_empty=True)
         private = StringBoolean(if_missing=False)
+        enable_statistics = StringBoolean(if_missing=False)
         repo_type = OneOf(supported_backends)
         if edit:
             user = All(Int(not_empty=True), ValidRepoUser)
--- a/rhodecode/templates/admin/repos/repo_edit.html	Sun Dec 05 03:00:42 2010 +0100
+++ b/rhodecode/templates/admin/repos/repo_edit.html	Sun Dec 05 15:47:49 2010 +0100
@@ -60,7 +60,14 @@
                     ${h.checkbox('private',value="True")}
                 </div>
             </div>
-             
+            <div class="field">
+                <div class="label label-checkbox">
+                    <label for="enable_statistics">${_('Enable statistics')}:</label>
+                </div>
+                <div class="checkboxes">
+                    ${h.checkbox('enable_statistics',value="True")}
+                </div>
+            </div>             
             <div class="field">
                 <div class="label">
                     <label for="user">${_('Owner')}:</label>
--- a/rhodecode/templates/summary/summary.html	Sun Dec 05 03:00:42 2010 +0100
+++ b/rhodecode/templates/summary/summary.html	Sun Dec 05 15:47:49 2010 +0100
@@ -193,7 +193,7 @@
 			  		if(no_data){
 			  			var tr = document.createElement('tr');
 			  			var td1 = document.createElement('td');
-			  			td1.innerHTML = "${_('No data loaded yet')}";
+			  			td1.innerHTML = "${c.no_data_msg}";
 			  			tr.appendChild(td1);
 			  			tbl.appendChild(tr);
 					}
@@ -250,7 +250,7 @@
     <div class="table">
         
          %if c.no_data:
-           <div style="padding:0 10px 10px 15px;font-size: 1.2em;">${_('No data loaded yet')}</div>
+           <div style="padding:0 10px 10px 15px;font-size: 1.2em;">${c.no_data_msg}</div>
         %endif:  
         <div id="commit_history" style="width:460px;height:300px;float:left"></div>
         <div style="clear: both;height: 10px"></div>