Mercurial > kallithea
changeset 962:72f008ed9b18 beta
implemented #84 downloads can be enabled/disabled per each repository from now.
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 26 Jan 2011 18:37:42 +0100 |
parents | 840ca7492dbe |
children | 1707aae3f985 84bb5b8b498d |
files | rhodecode/controllers/files.py 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 | 6 files changed, 23 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/rhodecode/controllers/files.py Wed Jan 26 18:35:13 2011 +0100 +++ b/rhodecode/controllers/files.py Wed Jan 26 18:37:42 2011 +0100 @@ -164,6 +164,10 @@ try: repo = ScmModel().get_repo(repo_name) + + if repo.dbrepo.enable_downloads is False: + return _('downloads disabled') + cs = repo.get_changeset(revision) content_type = ARCHIVE_SPECS[fileformat][0] except ChangesetDoesNotExistError:
--- a/rhodecode/controllers/summary.py Wed Jan 26 18:35:13 2011 +0100 +++ b/rhodecode/controllers/summary.py Wed Jan 26 18:37:42 2011 +0100 @@ -142,7 +142,9 @@ c.trending_languages = json.dumps({}) c.no_data = True - c.download_options = self._get_download_links(c.repo_info) + c.enable_downloads = c.repo_info.dbrepo.enable_downloads + if c.enable_downloads: + c.download_options = self._get_download_links(c.repo_info) return render('summary/summary.html')
--- a/rhodecode/model/db.py Wed Jan 26 18:35:13 2011 +0100 +++ b/rhodecode/model/db.py Wed Jan 26 18:37:42 2011 +0100 @@ -184,6 +184,7 @@ user_id = Column("user_id", Integer(), ForeignKey('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) + enable_downloads = Column("downloads", 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('repositories.repo_id'), nullable=True, unique=False, default=None) group_id = Column("group_id", Integer(), ForeignKey('groups.group_id'), nullable=True, unique=False, default=None)
--- a/rhodecode/model/forms.py Wed Jan 26 18:35:13 2011 +0100 +++ b/rhodecode/model/forms.py Wed Jan 26 18:37:42 2011 +0100 @@ -447,6 +447,7 @@ description = UnicodeString(strip=True, min=1, not_empty=True) private = StringBoolean(if_missing=False) enable_statistics = StringBoolean(if_missing=False) + enable_downloads = 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 Wed Jan 26 18:35:13 2011 +0100 +++ b/rhodecode/templates/admin/repos/repo_edit.html Wed Jan 26 18:37:42 2011 +0100 @@ -67,7 +67,15 @@ <div class="checkboxes"> ${h.checkbox('enable_statistics',value="True")} </div> - </div> + </div> + <div class="field"> + <div class="label label-checkbox"> + <label for="enable_downloads">${_('Enable downloads')}:</label> + </div> + <div class="checkboxes"> + ${h.checkbox('enable_downloads',value="True")} + </div> + </div> <div class="field"> <div class="label"> <label for="user">${_('Owner')}:</label>
--- a/rhodecode/templates/summary/summary.html Wed Jan 26 18:35:13 2011 +0100 +++ b/rhodecode/templates/summary/summary.html Wed Jan 26 18:37:42 2011 +0100 @@ -130,6 +130,11 @@ <div class="input-short"> %if len(c.repo_info.revisions) == 0: ${_('There are no downloads yet')} + %elif c.enable_downloads is False: + ${_('Downloads are disabled for this repository')} + %if h.HasPermissionAll('hg.admin')('enable stats on from summary'): + [${h.link_to(_('enable'),h.url('edit_repo',repo_name=c.repo_name))}] + %endif %else: ${h.select('download_options',c.repo_info.get_changeset().raw_id,c.download_options)} %for cnt,archive in enumerate(c.repo_info._get_archives()):