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')