Created
February 13, 2012 19:28
-
-
Save marcelcaraciolo/1819359 to your computer and use it in GitHub Desktop.
models.py
This file contains 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
# -*- coding: utf-8 -*- | |
from django.contrib import admin | |
from models import IesdeProduct, IesdeAccess | |
from forms import IesdeAddForm, IesdeAccessForm | |
from iesde import client | |
class IesdeAdminForm(admin.ModelAdmin): | |
form = IesdeAddForm | |
list_display = ['ancora', 'tipo', 'status'] | |
search_fields = ['ancora'] | |
def get_form(self, request, obj=None, **kwargs): | |
defaults = {} | |
if obj is None: | |
defaults.update({ | |
'form': self.form, | |
}) | |
defaults.update(kwargs) | |
return super(IesdeAdminForm, self).get_form(request, obj, **defaults) | |
class IesdeAdminAccessForm(admin.ModelAdmin): | |
form = IesdeAccessForm | |
list_display = ['username', 'course', 'duration'] | |
def get_form(self, request, obj=None, **kwargs): | |
defaults = {} | |
if obj is None: | |
defaults.update({ | |
'form': self.form, | |
}) | |
defaults.update(kwargs) | |
return super(IesdeAdminAccessForm, self).get_form(request, obj, **defaults) | |
def grant_access(self, obj): | |
from atepassar.models import Course | |
from store_account.models import StoreProfile | |
from emailconfirmation.models import EmailAddress | |
store_profile = None | |
email_address = None | |
course = None | |
try: | |
store_profile = StoreProfile.objects.get(user__username=obj.username) | |
email_address = EmailAddress.objects.get_primary(user=store_profile.user) | |
course = Course.objects.get(id_in_supplier=obj.course) | |
if not obj.duration: | |
duration = course.duration_in_supplier | |
else: | |
duration = obj.duration | |
resultado = client.cadastro(settings.IESDE_LOGIN, settings.IESDE_PASSWORD, | |
email_address.email, store_profile.cpf, course.id_in_supplier, duration, course.type_in_supplier) | |
return 1, resultado | |
except StoreProfile.DoesNotExist: | |
return 0, '----- Usuário sem cadastro na Loja. -----' | |
except EmailAddress.DoesNotExist: | |
return 0, "----- Usuário sem email cadastrado. -----" | |
except Course.DoesNotExist: | |
return 0, "----- Curso não cadastrado. -----" | |
except: | |
return 0, "----Erro Desconhecido -----" | |
def save_model(self, request, obj, form, change): | |
from django.contrib import messages | |
code, result = self.grant_access(obj) | |
if code: | |
messages.success(request, result) | |
else: | |
messages.error(request, result) | |
admin.site.register(IesdeProduct, IesdeAdminForm) | |
admin.site.register(IesdeAccess, IesdeAdminAccessForm) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment