Skip to content

Instantly share code, notes, and snippets.

@marcelcaraciolo
Created February 13, 2012 19:28
Show Gist options
  • Save marcelcaraciolo/1819359 to your computer and use it in GitHub Desktop.
Save marcelcaraciolo/1819359 to your computer and use it in GitHub Desktop.
models.py
# -*- 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