# Path: agora_site/agora_core/models/voting_systems/base.py
# def parse_voting_methods():
#     '''
#     Returns a tuple of pairs with the id and description of the voting system
#     classes
#     '''
#     classes = get_voting_system_classes()
#     return tuple(
#         [(k.get_id(), k.get_description()) for k in classes]
#     )


import datetime
import uuid
from django.conf import settings
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from django.db import models
from django.db.models import Q
from django.template.defaultfilters import slugify
from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
from django.db.models.signals import post_save
from django.core.validators import validate_email
from django.core.exceptions import ValidationError
from guardian.shortcuts import *
from agora_site.misc.utils import JSONField, get_users_with_perm
from agora_site.agora_core.models.voting_systems.base import parse_voting_methods
        from actstream.models import Action
        from agora_site.agora_core.models import CastVote
        from agora_site.agora_core.models import CastVote
        from agora_site.agora_core.models import CastVote
    from agora_site.agora_core.models import Election




class Agora(models.Model):
    '''
    Represents an Agora, formed by a group of people which can vote and delegate
    '''
    ELECTION_TYPES = (
        ('SIMPLE_DELEGATION', _('Simple election for delegates where only one delegate can be chosen')),

# Path: agora_site/agora_core/models/voting_systems/base.py
# def parse_voting_methods():
#     '''
#     Returns a tuple of pairs with the id and description of the voting system
#     classes
#     '''
#     classes = get_voting_system_classes()
#     return tuple(
#         [(k.get_id(), k.get_description()) for k in classes]
#     )


# Path: agora_site/agora_core/models/agora.py
import datetime
import uuid
from django.conf import settings
from django.core.urlresolvers import reverse
from django.contrib.auth.models import User
from django.db import models
from django.db.models import Q
from django.template.defaultfilters import slugify
from django.utils.translation import ugettext_lazy as _
from django.utils import timezone
from django.db.models.signals import post_save
from django.core.validators import validate_email
from django.core.exceptions import ValidationError
from guardian.shortcuts import *
from agora_site.misc.utils import JSONField, get_users_with_perm
from agora_site.agora_core.models.voting_systems.base import parse_voting_methods
        from actstream.models import Action
        from agora_site.agora_core.models import CastVote
        from agora_site.agora_core.models import CastVote
        from agora_site.agora_core.models import CastVote
    from agora_site.agora_core.models import Election





class Agora(models.Model):
    '''
    Represents an Agora, formed by a group of people which can vote and delegate
    '''
    ELECTION_TYPES = (
        ('SIMPLE_DELEGATION', _('Simple election for delegates where only one delegate can be chosen')),

    ) + parse_voting_methods()