Created
June 4, 2013 03:06
-
-
Save dcramer/5703297 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class ConfigurationView(BaseView): | |
def get_conf_key(self): | |
raise NotImplementedError | |
def get_form_class(self, request): | |
raise NotImplementedError | |
def render(self, request, template, context=None, **kwargs): | |
from sentry.web.helpers import render_to_response | |
if not context: | |
context = {} | |
if self.context: | |
context.update(self.context) | |
context.update(csrf(request)) | |
return render_to_response(self.template, context, request) | |
def success(self, request): | |
messages.add_message( | |
request, messages.SUCCESS, | |
_('Changes to your project were saved.')) | |
return HttpResponseRedirect(request.path) | |
def dispatch(self, request, team_slug, **kwargs): | |
team = Team.objects.get_from_cache(slug=team_slug) | |
super(ConfigurationView, self).dispatch(request, team, **kwargs) | |
@never_cache | |
def post(self, request, team, **kwargs): | |
return self.get(request, **kwargs) | |
@never_cache | |
def get(self, request, team, **kwargs): | |
form = self.get_form_class(request.POST or None) | |
if form.is_valid(): | |
config = form.cleaned_data | |
TeamOption.objects.set_value(team, self.get_conf_key(), config) | |
return self.success(request) | |
return self.render(request, self.template, { | |
'form': form, | |
}) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment