Mercurial > kallithea
comparison pylons_app/controllers/settings.py @ 525:87d80c84df09
added search in specific repository
added delete to my page view handled by separate controller for deleting users own repos, added fork draft
author | Marcin Kuzminski <marcin@python-works.com> |
---|---|
date | Wed, 29 Sep 2010 22:38:54 +0200 |
parents | f5c1eec9f376 |
children | a08f610e545e |
comparison
equal
deleted
inserted
replaced
524:63212fea2471 | 525:87d80c84df09 |
---|---|
53 ' it was created or renamed from the filesystem' | 53 ' it was created or renamed from the filesystem' |
54 ' please run the application again' | 54 ' please run the application again' |
55 ' in order to rescan repositories') % repo_name, | 55 ' in order to rescan repositories') % repo_name, |
56 category='error') | 56 category='error') |
57 | 57 |
58 return redirect(url('repos')) | 58 return redirect(url('hg_home')) |
59 defaults = c.repo_info.__dict__ | 59 defaults = c.repo_info.__dict__ |
60 defaults.update({'user':c.repo_info.user.username}) | 60 defaults.update({'user':c.repo_info.user.username}) |
61 c.users_array = repo_model.get_users_js() | 61 c.users_array = repo_model.get_users_js() |
62 | 62 |
63 for p in c.repo_info.repo_to_perm: | 63 for p in c.repo_info.repo_to_perm: |
96 log.error(traceback.format_exc()) | 96 log.error(traceback.format_exc()) |
97 h.flash(_('error occured during update of repository %s') \ | 97 h.flash(_('error occured during update of repository %s') \ |
98 % repo_name, category='error') | 98 % repo_name, category='error') |
99 | 99 |
100 return redirect(url('repo_settings_home', repo_name=changed_name)) | 100 return redirect(url('repo_settings_home', repo_name=changed_name)) |
101 | |
102 | |
103 | |
104 def delete(self, repo_name): | |
105 """DELETE /repos/repo_name: Delete an existing item""" | |
106 # Forms posted to this method should contain a hidden field: | |
107 # <input type="hidden" name="_method" value="DELETE" /> | |
108 # Or using helpers: | |
109 # h.form(url('repo_settings_delete', repo_name=ID), | |
110 # method='delete') | |
111 # url('repo_settings_delete', repo_name=ID) | |
112 | |
113 repo_model = RepoModel() | |
114 repo = repo_model.get(repo_name) | |
115 if not repo: | |
116 h.flash(_('%s repository is not mapped to db perhaps' | |
117 ' it was moved or renamed from the filesystem' | |
118 ' please run the application again' | |
119 ' in order to rescan repositories') % repo_name, | |
120 category='error') | |
121 | |
122 return redirect(url('hg_home')) | |
123 try: | |
124 repo_model.delete(repo) | |
125 invalidate_cache('cached_repo_list') | |
126 h.flash(_('deleted repository %s') % repo_name, category='success') | |
127 except Exception: | |
128 h.flash(_('An error occured during deletion of %s') % repo_name, | |
129 category='error') | |
130 | |
131 return redirect(url('hg_home')) | |
132 | |
133 def fork(self, repo_name): | |
134 repo_model = RepoModel() | |
135 c.repo_info = repo = repo_model.get(repo_name) | |
136 if not repo: | |
137 h.flash(_('%s repository is not mapped to db perhaps' | |
138 ' it was created or renamed from the filesystem' | |
139 ' please run the application again' | |
140 ' in order to rescan repositories') % repo_name, | |
141 category='error') | |
142 | |
143 return redirect(url('hg_home')) | |
144 return render('settings/repo_fork.html') |