You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
88 lines
2.2 KiB
88 lines
2.2 KiB
import json
|
|
from django.http import HttpResponseRedirect, HttpResponse, Http404
|
|
from django.utils.translation import get_language
|
|
from sorl.thumbnail import get_thumbnail
|
|
from edit_forms import *
|
|
from accounts.views import ProfileInvalidView
|
|
|
|
class BaseView(ProfileInvalidView):
|
|
def form_valid(self, form):
|
|
company = self.request.user.company
|
|
if self.form_class.translation:
|
|
lang = get_language()
|
|
comp_transl = company.translations.get(language_code=lang)
|
|
form = self.form_class(self.request.POST, instance=comp_transl)
|
|
|
|
else:
|
|
form = self.form_class(self.request.POST, instance=company)
|
|
|
|
form.save()
|
|
response = {'success': True}
|
|
return HttpResponse(json.dumps(response), content_type='application/json')
|
|
|
|
|
|
class LogoView(BaseView):
|
|
"""
|
|
instance profile. save user avatar.
|
|
|
|
if call is ajax- return json data, else redirect to profile page
|
|
"""
|
|
form_class = LogoForm
|
|
|
|
def form_valid(self, form):
|
|
company = self.request.user.company
|
|
form = self.form_class(self.request.POST, self.request.FILES, instance=company)
|
|
form.save()
|
|
if self.request.is_ajax():
|
|
im = get_thumbnail(company.logo, '100x100', crop='center')
|
|
response = {'success': True, 'url': im.url}
|
|
return HttpResponse(json.dumps(response), content_type='application/json')
|
|
else:
|
|
return HttpResponseRedirect(company.get_permanent_url())
|
|
|
|
|
|
class NameView(BaseView):
|
|
form_class = NameForm
|
|
|
|
|
|
class HomeView(BaseView):
|
|
form_class = HomeForm
|
|
|
|
class SpecializationView(BaseView):
|
|
form_class = SpecializationForm
|
|
|
|
|
|
class PhoneView(BaseView):
|
|
form_class = PhoneForm
|
|
|
|
|
|
class EmailView(BaseView):
|
|
form_class = EmailForm
|
|
|
|
|
|
class WebPageView(BaseView):
|
|
form_class = WebPageForm
|
|
|
|
|
|
class SocialView(BaseView):
|
|
form_class = SocialForm
|
|
|
|
|
|
class TagView(BaseView):
|
|
form_class = TagForm
|
|
|
|
|
|
class FoundationView(BaseView):
|
|
form_class = FoundationForm
|
|
|
|
|
|
class StaffView(BaseView):
|
|
form_class = StaffForm
|
|
|
|
|
|
class DescriptionView(BaseView):
|
|
form_class = DescriptionForm
|
|
|
|
|
|
class AddressView(BaseView):
|
|
form_class = AddressForm |