Show More
@@ -24,20 +24,28 b'' | |||||
24 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, |
|
24 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, | |
25 | # MA 02110-1301, USA. |
|
25 | # MA 02110-1301, USA. | |
26 |
|
26 | |||
|
27 | import calendar | |||
|
28 | import logging | |||
|
29 | from time import mktime | |||
|
30 | from datetime import datetime, timedelta | |||
|
31 | ||||
|
32 | from vcs.exceptions import ChangesetError | |||
|
33 | ||||
27 | from pylons import tmpl_context as c, request, url |
|
34 | from pylons import tmpl_context as c, request, url | |
28 | from vcs.exceptions import ChangesetError |
|
35 | from pylons.i18n.translation import _ | |
|
36 | ||||
|
37 | from rhodecode.model.scm import ScmModel | |||
|
38 | from rhodecode.model.db import Statistics | |||
|
39 | ||||
29 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator |
|
40 | from rhodecode.lib.auth import LoginRequired, HasRepoPermissionAnyDecorator | |
30 | from rhodecode.lib.base import BaseController, render |
|
41 | from rhodecode.lib.base import BaseController, render | |
31 | from rhodecode.lib.utils import OrderedDict, EmptyChangeset |
|
42 | from rhodecode.lib.utils import OrderedDict, EmptyChangeset | |
32 | from rhodecode.model.scm import ScmModel |
|
43 | ||
33 | from rhodecode.model.db import Statistics |
|
|||
34 | from webhelpers.paginate import Page |
|
|||
35 | from rhodecode.lib.celerylib import run_task |
|
44 | from rhodecode.lib.celerylib import run_task | |
36 | from rhodecode.lib.celerylib.tasks import get_commits_stats |
|
45 | from rhodecode.lib.celerylib.tasks import get_commits_stats | |
37 | from datetime import datetime, timedelta |
|
46 | ||
38 | from time import mktime |
|
47 | from webhelpers.paginate import Page | |
39 | import calendar |
|
48 | ||
40 | import logging |
|
|||
41 | try: |
|
49 | try: | |
42 | import json |
|
50 | import json | |
43 | except ImportError: |
|
51 | except ImportError: | |
@@ -102,8 +110,11 b' class SummaryController(BaseController):' | |||||
102 | d, 0, 0, 0, 0, 0, 0,)) |
|
110 | d, 0, 0, 0, 0, 0, 0,)) | |
103 |
|
111 | |||
104 | ts_max_y = mktime((y, m, d, 0, 0, 0, 0, 0, 0,)) |
|
112 | ts_max_y = mktime((y, m, d, 0, 0, 0, 0, 0, 0,)) | |
105 |
|
113 | if c.repo_info.dbrepo.enable_statistics: | ||
106 | run_task(get_commits_stats, c.repo_info.name, ts_min_y, ts_max_y) |
|
114 | c.no_data_msg = _('No data loaded yet') | |
|
115 | run_task(get_commits_stats, c.repo_info.name, ts_min_y, ts_max_y) | |||
|
116 | else: | |||
|
117 | c.no_data_msg = _('Statistics are disabled for this repository') | |||
107 | c.ts_min = ts_min_m |
|
118 | c.ts_min = ts_min_m | |
108 | c.ts_max = ts_max_y |
|
119 | c.ts_max = ts_max_y | |
109 |
|
120 |
@@ -122,6 +122,7 b' class Repository(Base):' | |||||
122 | repo_type = Column("repo_type", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None) |
|
122 | repo_type = Column("repo_type", String(length=None, convert_unicode=False, assert_unicode=None), nullable=False, unique=False, default=None) | |
123 | user_id = Column("user_id", Integer(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None) |
|
123 | user_id = Column("user_id", Integer(), ForeignKey(u'users.user_id'), nullable=False, unique=False, default=None) | |
124 | private = Column("private", Boolean(), nullable=True, unique=None, default=None) |
|
124 | private = Column("private", Boolean(), nullable=True, unique=None, default=None) | |
|
125 | enable_statistics = Column("statistics", Boolean(), nullable=True, unique=None, default=True) | |||
125 | description = Column("description", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) |
|
126 | description = Column("description", String(length=None, convert_unicode=False, assert_unicode=None), nullable=True, unique=None, default=None) | |
126 | fork_id = Column("fork_id", Integer(), ForeignKey(u'repositories.repo_id'), nullable=True, unique=False, default=None) |
|
127 | fork_id = Column("fork_id", Integer(), ForeignKey(u'repositories.repo_id'), nullable=True, unique=False, default=None) | |
127 |
|
128 |
@@ -400,6 +400,7 b' def RepoForm(edit=False, old_data={}, su' | |||||
400 | ValidRepoName(edit, old_data)) |
|
400 | ValidRepoName(edit, old_data)) | |
401 | description = UnicodeString(strip=True, min=1, not_empty=True) |
|
401 | description = UnicodeString(strip=True, min=1, not_empty=True) | |
402 | private = StringBoolean(if_missing=False) |
|
402 | private = StringBoolean(if_missing=False) | |
|
403 | enable_statistics = StringBoolean(if_missing=False) | |||
403 | repo_type = OneOf(supported_backends) |
|
404 | repo_type = OneOf(supported_backends) | |
404 | if edit: |
|
405 | if edit: | |
405 | user = All(Int(not_empty=True), ValidRepoUser) |
|
406 | user = All(Int(not_empty=True), ValidRepoUser) |
@@ -60,7 +60,14 b'' | |||||
60 | ${h.checkbox('private',value="True")} |
|
60 | ${h.checkbox('private',value="True")} | |
61 | </div> |
|
61 | </div> | |
62 | </div> |
|
62 | </div> | |
63 |
|
63 | <div class="field"> | ||
|
64 | <div class="label label-checkbox"> | |||
|
65 | <label for="enable_statistics">${_('Enable statistics')}:</label> | |||
|
66 | </div> | |||
|
67 | <div class="checkboxes"> | |||
|
68 | ${h.checkbox('enable_statistics',value="True")} | |||
|
69 | </div> | |||
|
70 | </div> | |||
64 | <div class="field"> |
|
71 | <div class="field"> | |
65 | <div class="label"> |
|
72 | <div class="label"> | |
66 | <label for="user">${_('Owner')}:</label> |
|
73 | <label for="user">${_('Owner')}:</label> |
@@ -193,7 +193,7 b'' | |||||
193 | if(no_data){ |
|
193 | if(no_data){ | |
194 | var tr = document.createElement('tr'); |
|
194 | var tr = document.createElement('tr'); | |
195 | var td1 = document.createElement('td'); |
|
195 | var td1 = document.createElement('td'); | |
196 |
td1.innerHTML = "${ |
|
196 | td1.innerHTML = "${c.no_data_msg}"; | |
197 | tr.appendChild(td1); |
|
197 | tr.appendChild(td1); | |
198 | tbl.appendChild(tr); |
|
198 | tbl.appendChild(tr); | |
199 | } |
|
199 | } | |
@@ -250,7 +250,7 b'' | |||||
250 | <div class="table"> |
|
250 | <div class="table"> | |
251 |
|
251 | |||
252 | %if c.no_data: |
|
252 | %if c.no_data: | |
253 |
<div style="padding:0 10px 10px 15px;font-size: 1.2em;">${ |
|
253 | <div style="padding:0 10px 10px 15px;font-size: 1.2em;">${c.no_data_msg}</div> | |
254 | %endif: |
|
254 | %endif: | |
255 | <div id="commit_history" style="width:460px;height:300px;float:left"></div> |
|
255 | <div id="commit_history" style="width:460px;height:300px;float:left"></div> | |
256 | <div style="clear: both;height: 10px"></div> |
|
256 | <div style="clear: both;height: 10px"></div> |
General Comments 0
You need to be logged in to leave comments.
Login now