def permit_add(request):
"""
????
:param request:
:return:
"""
if request.method == 'POST':
ops_permit = OpsPermit(request.user)
res, msg = ops_permit.permit_add(request.POST)
page = int(request.REQUEST.get('page', 1))
if res:
messages.add_message(request, messages.SUCCESS, msg)
else:
messages.add_message(request, messages.ERROR, msg)
return HttpResponseRedirect('/system/p/list/?page=' + str(page))
else:
content_type_list = ContentType.objects.all()
return render_to_response('system/permit_add.html', {'content_type_list': content_type_list},
context_instance=RequestContext(request))
python类add_message()的实例源码
def addcard(request):
if request.method == 'POST':
token = request.POST['stripe_token[id]']
user_profile = UserProfile.objects.get(user=request.user)
network = user_profile.network
if network.update_card(token):
messages.add_message(request, messages.INFO, "addcard_saved",
extra_tags="billing_resp_code")
return redirect("/dashboard/billing")
else:
# The card has been declined
messages.add_message(request, messages.ERROR,
"addcard_stripe_declined", extra_tags="billing_resp_code")
return redirect("/dashboard/billing")
else:
return HttpResponseBadRequest()
def addmoney(request):
if request.method == 'POST':
amt = cents2mc(int(float(request.POST['amount']) * 100))
user_profile = UserProfile.objects.get(user=request.user)
network = user_profile.network
try:
charge = network.authorize_card(amt, "credit", "Add Credit")
network.add_credit(amt)
network.capture_charge(charge.id)
messages.add_message(request, messages.SUCCESS,
"addmoney_stripe_success",
extra_tags="billing_resp_code")
return redirect("/dashboard/billing")
except stripe.StripeError:
logger.error("Failed to add money, stripe.CardError: %s", request)
messages.add_message(request, messages.WARNING,
"addmoney_stripe_error",
extra_tags="billing_resp_code")
return redirect("/dashboard/billing")
else:
return HttpResponseBadRequest()
def form_valid(self, form):
if settings.ENABLE_USER_ACTIVATION:
user = form.save(commit=False)
user.is_active = False
user.save()
send_activation_email(self.request, user)
messages.add_message(self.request, messages.SUCCESS,
_('You are registered. To activate the account, follow the link sent to the mail.'))
else:
form.save()
username = form.cleaned_data.get('username')
raw_password = form.cleaned_data.get('password1')
user = authenticate(username=username, password=raw_password)
login(self.request, user)
messages.add_message(self.request, messages.SUCCESS, _('You are successfully registered!'))
return super(SignUpView, self).form_valid(form)
def get_redirect_url(self, *args, **kwargs):
assert 'code' in kwargs
act = get_object_or_404(Activation, code=kwargs['code'])
# Activate user's profile
user = act.user
user.is_active = True
user.save()
# Remove activation record, it is unneeded
act.delete()
messages.add_message(self.request, messages.SUCCESS, _('You have successfully activated your account!'))
login(self.request, user)
return super(ActivateView, self).get_redirect_url()
def form_valid(self, form):
user = self.request.user
email = form.cleaned_data.get('email')
email = email.lower()
if hasattr(settings, 'EMAIL_ACTIVATION_AFTER_CHANGING') and settings.EMAIL_ACTIVATION_AFTER_CHANGING:
send_activation_change_email(self.request, user, email)
messages.add_message(self.request, messages.SUCCESS,
_('To complete the change of mail, click on the link sent to it.'))
else:
user.email = email
user.save()
messages.add_message(self.request, messages.SUCCESS, _('Email successfully changed.'))
return super(ChangeEmailView, self).form_valid(form)
def message_user(self, request, message, level=messages.INFO, extra_tags='',
fail_silently=False):
"""
Send a message to the user. The default implementation
posts a message using the django.contrib.messages backend.
Exposes almost the same API as messages.add_message(), but accepts the
positional arguments in a different order to maintain backwards
compatibility. For convenience, it accepts the `level` argument as
a string rather than the usual level number.
"""
if not isinstance(level, int):
# attempt to get the level if passed a string
try:
level = getattr(messages.constants, level.upper())
except AttributeError:
levels = messages.constants.DEFAULT_TAGS.values()
levels_repr = ', '.join('`%s`' % l for l in levels)
raise ValueError(
'Bad message level string: `%s`. Possible values are: %s'
% (level, levels_repr)
)
messages.add_message(request, level, message, extra_tags=extra_tags, fail_silently=fail_silently)
def form_valid(self, form):
alert = models.Alert()
alert.location = form.cleaned_data['location']
if self.request.user.is_authenticated:
#save alert
alert.user = self.request.user
alert.save()
#create a success message
messages.add_message(self.request, messages.SUCCESS, success_message)
return redirect(reverse('alert-list'))
else:
self.request.session['new-alert'] = serialize('geojson', [alert],
fields=('location',))
return redirect(reverse('create-alert-user'))
def form_valid(self, form):
#create user
UserModel = get_user_model()
user = UserModel(email=form.cleaned_data['email'])
user.set_password(form.cleaned_data['password'])
user.save()
#sign new user in
login(self.request, user)
#get the location out of the session
location = json.loads(self.request.session['new-alert'])
#save alert
alert = models.Alert()
alert.location = json.dumps(location['features'][0]['geometry'])
alert.user = user
alert.save()
#create a success message
messages.add_message(self.request, messages.SUCCESS, success_message)
return redirect(reverse('alert-list'))
def form_valid(self, form):
#add the dates to the existing data in the sessions
notice = form.save(commit=False)
serializer = NoticeSerializer(notice)
session_data = self.request.session['new-notice']
session_data['starts_at'] = serializer.data['starts_at']
session_data['ends_at'] = serializer.data['ends_at']
session_data['timezone'] = serializer.data['timezone']
#save
serializer = NoticeSerializer(data=session_data)
if serializer.is_valid():
notice = serializer.save(user=self.request.user)
messages.add_message(self.request, messages.SUCCESS, 'Your notice has been posted')
return redirect(notice)
else:
messages.add_message(self.request, messages.ERROR, 'Sorry, something went wrong')
def message_user(self, request, message, level=messages.INFO, extra_tags='',
fail_silently=False):
"""
Send a message to the user. The default implementation
posts a message using the django.contrib.messages backend.
Exposes almost the same API as messages.add_message(), but accepts the
positional arguments in a different order to maintain backwards
compatibility. For convenience, it accepts the `level` argument as
a string rather than the usual level number.
"""
if not isinstance(level, int):
# attempt to get the level if passed a string
try:
level = getattr(messages.constants, level.upper())
except AttributeError:
levels = messages.constants.DEFAULT_TAGS.values()
levels_repr = ', '.join('`%s`' % l for l in levels)
raise ValueError('Bad message level string: `%s`. '
'Possible values are: %s' % (level, levels_repr))
messages.add_message(request, level, message, extra_tags=extra_tags,
fail_silently=fail_silently)
def export(self, request, queryset):
"""
Download selected photos as ZIP
"""
zip_subdir = 'photos'
zip_filename = '{}.zip'.format(zip_subdir)
zip_file = os.path.join(settings.MEDIA_ROOT, PHOTOLOGUE_DIR,
zip_filename)
try:
os.remove(zip_file)
except OSError:
pass
with zipfile.ZipFile(zip_file, "a") as zf:
for photo in queryset.all():
path = photo.image.path
if os.path.isfile(path):
fdir, fname = os.path.split(path)
zip_path = os.path.join(zip_subdir, fname)
zf.write(path, zip_path)
link = 'Photos download link: <a href="{0}?v={1}">{0}</a>'.format(
urllib.parse.urljoin(settings.MEDIA_URL,
PHOTOLOGUE_DIR + '/' + zip_filename), time())
messages.add_message(request, messages.INFO, mark_safe(link))
def contact(request):
if request.method == 'POST':
form = ContactView(request.POST)
if form.is_valid():
our_form = form.save(commit=False)
our_form.save()
messages.add_message(
request, messages.INFO,
'Your message has been sent. Thank you.'
)
return HttpResponseRedirect('/')
else:
form = ContactView()
t = loader.get_template('contact/contact.html')
c = RequestContext(request, {'form': form, })
return HttpResponse(t.render(c))
def stage_add_form(request, pk=None):
stage = get_object_or_404(
Stage, pk=pk)
if stage.stage.site:
instance = FieldSightXF(site=stage.stage.site, is_staged=True, is_scheduled=False, stage=stage)
if request.method == 'POST':
form = AssignFormToStageForm(request.POST, instance=instance)
if form.is_valid():
form.save()
messages.add_message(request, messages.INFO, 'Form Assigned Successfully.')
return HttpResponseRedirect(reverse("forms:stages-detail", kwargs={'pk': stage.stage.id}))
else:
form = AssignFormToStageForm(instance=instance)
return render(request, "fsforms/stage_add_form.html", {'form': form, 'obj': stage})
else:
if request.method == 'POST':
form = AssignFormToStageForm(request.POST)
if form.is_valid():
form.save()
messages.add_message(request, messages.INFO, 'Form Assigned Successfully.')
return HttpResponseRedirect(reverse("forms:stages-detail", kwargs={'pk': stage.stage.id}))
else:
form = AssignFormToStageForm()
return render(request, "fsforms/stage_add_form.html", {'form': form, 'obj': stage})
def add_proj_manager(request, pk):
obj = get_object_or_404(
Project, pk=pk)
group = Group.objects.get(name__exact="Project Manager")
role_obj = UserRole(project=obj, group=group)
scenario = 'Assign'
if request.method == 'POST':
form = SetProjectManagerForm(data=request.POST, instance=role_obj, request=request)
if form.is_valid():
role_obj = form.save(commit=False)
user_id = request.POST.get('user')
role_obj.user_id = int(user_id)
role_obj.save()
messages.add_message(request, messages.INFO, 'Project Manager Added')
return HttpResponseRedirect(reverse("fieldsight:project-dashboard", kwargs={'pk': obj.pk}))
else:
form = SetProjectManagerForm(instance=role_obj, request=request)
return render(request, "fieldsight/add_project_manager.html", {'obj':obj,'form':form, 'scenario':scenario})
def add_supervisor(request, pk):
obj = get_object_or_404(
Site, pk=int(pk))
group = Group.objects.get(name__exact="Site Supervisor")
role_obj = UserRole(site=obj, group=group)
if request.method == 'POST':
form = SetSupervisorForm(data=request.POST, instance=role_obj, request=request)
if form.is_valid():
role_obj = form.save(commit=False)
user_id = request.POST.get('user')
role_obj.user_id = int(user_id)
role_obj.save()
messages.add_message(request, messages.INFO, 'Site Supervisor Added')
return HttpResponseRedirect(reverse("fieldsight:site-dashboard", kwargs={'pk': obj.pk}))
else:
form = SetSupervisorForm(instance=role_obj, request=request)
return render(request, "fieldsight/add_supervisor.html", {'obj':obj,'form':form})
def add_central_engineer(request, pk):
obj = get_object_or_404(
Project, pk=pk)
group = Group.objects.get(name__exact="Reivewer")
role_obj = UserRole(project=obj, group=group)
scenario = 'Assign'
if request.method == 'POST':
form = SetProjectRoleForm(data=request.POST, instance=role_obj, request=request)
if form.is_valid():
role_obj = form.save(commit=False)
user_id = request.POST.get('user')
role_obj.user_id = int(user_id)
role_obj.save()
messages.add_message(request, messages.INFO, 'Reviewer Added')
return HttpResponseRedirect(reverse("fieldsight:project-dashboard", kwargs={'pk': obj.pk}))
else:
form = SetProjectRoleForm(instance=role_obj, request=request,)
return render(request, "fieldsight/add_central_engineer.html", {'obj':obj,'form':form, 'scenario':scenario})
def add_project_role(request, pk):
obj = get_object_or_404(
Project, pk=pk)
role_obj = UserRole(project=obj)
scenario = 'Assign People'
form = SetProjectRoleForm(instance=role_obj, request=request)
if request.method == 'POST':
form = SetProjectRoleForm(data=request.POST, instance=role_obj, request=request)
if form.is_valid():
role_obj = form.save(commit=False)
user_id = request.POST.get('user')
role_obj.user_id = int(user_id)
role_obj.save()
messages.add_message(request, messages.INFO, '{} Added'.format(role_obj.group.name))
return HttpResponseRedirect(reverse("fieldsight:project-dashboard", kwargs={'pk': obj.pk}))
existing_staffs = obj.get_staffs
return render(request, "fieldsight/add_central_engineer.html", {'obj':obj,'form':form, 'scenario':scenario,
"existing_staffs":existing_staffs})
def message_user(self, request, message, level=messages.INFO, extra_tags='',
fail_silently=False):
"""
Send a message to the user. The default implementation
posts a message using the django.contrib.messages backend.
Exposes almost the same API as messages.add_message(), but accepts the
positional arguments in a different order to maintain backwards
compatibility. For convenience, it accepts the `level` argument as
a string rather than the usual level number.
"""
if not isinstance(level, int):
# attempt to get the level if passed a string
try:
level = getattr(messages.constants, level.upper())
except AttributeError:
levels = messages.constants.DEFAULT_TAGS.values()
levels_repr = ', '.join('`%s`' % l for l in levels)
raise ValueError('Bad message level string: `%s`. '
'Possible values are: %s' % (level, levels_repr))
messages.add_message(request, level, message, extra_tags=extra_tags,
fail_silently=fail_silently)
def message_user(self, request, message, level=messages.INFO, extra_tags='',
fail_silently=False):
"""
Send a message to the user. The default implementation
posts a message using the django.contrib.messages backend.
Exposes almost the same API as messages.add_message(), but accepts the
positional arguments in a different order to maintain backwards
compatibility. For convenience, it accepts the `level` argument as
a string rather than the usual level number.
"""
if not isinstance(level, int):
# attempt to get the level if passed a string
try:
level = getattr(messages.constants, level.upper())
except AttributeError:
levels = messages.constants.DEFAULT_TAGS.values()
levels_repr = ', '.join('`%s`' % l for l in levels)
raise ValueError('Bad message level string: `%s`. '
'Possible values are: %s' % (level, levels_repr))
messages.add_message(request, level, message, extra_tags=extra_tags,
fail_silently=fail_silently)