Ejemplo n.º 1
0
 def tagged_items(self, selection=None):
     """
     Returns a dict of objects tagged with this tag, keys of the dict are model names.
     The 'selection' parameter can be used to pass a restrictive list of models names as strings.
     """
     TaggedItem = get_class('taggeditem')
     items = {}
     for item in TaggedItem.objects.filter(tag=self):
         if item.content_object:
             cls = item.content_object._meta.verbose_name_plural
             if not selection or cls in selection:
                 if not cls in items:
                     items[cls] = []
                 items[cls].append(item.content_object)
     return items
Ejemplo n.º 2
0
from django.db.models.related import RelatedObject
from django.utils.text import capfirst
from django.utils.translation import ugettext_lazy as _

from coop_tag.forms import TagField
from coop_tag.models import GenericTaggedItemBase
from coop_tag.utils import require_instance_manager
from coop_tag.widgets import TagAutoSuggest
from django.conf import settings

# we use the default TaggedItem model if it's not customized
if not hasattr(settings, 'TAGGER_TAGGEDITEM_MODEL'):
    from coop_tag.models import TaggedItem
else:
    from coop_tag.settings import get_class
    TaggedItem = get_class('taggeditem')


try:
    all
except NameError:
    # 2.4 compat
    try:
        from django.utils.itercompat import all
    except ImportError:
        # 1.1.X compat
        def all(iterable):
            for item in iterable:
                if not item:
                    return False
            return True
Ejemplo n.º 3
0
from django.contrib import admin
from coop_tag.settings import get_class
#from feincms.admin import tree_editor


class TaggedItemInline(admin.StackedInline):
    model = get_class('taggeditem')


# We just override the TreeEditor template to add some custom CSS
# and put the move cursor before the object title

# class TagTreeAdmin(tree_editor.TreeEditor):
#     def __init__(self, *args, **kwargs):
#         super(TagTreeAdmin, self).__init__(*args, **kwargs)
#         self.change_list_template = [
#             'admin/feincms/tag_tree_editor.html',
#             ]

#     def changelist_view(self, request, extra_context=None, *args, **kwargs):
#         if 'actions_column' not in self.list_display:
#             self.list_display.insert(0, 'actions_column')
#         return super(TagTreeAdmin, self).changelist_view(request, extra_context)

# inlines = [
#     TaggedItemInline
# ]

admin.site.register(get_class('tag'))  #, TagTreeAdmin)
Ejemplo n.º 4
0
class TaggedItemInline(admin.StackedInline):
    model = get_class('taggeditem')
Ejemplo n.º 5
0
if "coop.exchange" in settings.INSTALLED_APPS:
    from coop.exchange.admin import ExchangeAdmin
    admin.site.register(ExchangeMethod)
    admin.site.register(Exchange, ExchangeAdmin)

if "coop_cms" in settings.INSTALLED_APPS:
    from coop.article.admin import CoopArticleAdmin
    from coop_cms.settings import get_article_class
    article_model = get_article_class()
    admin.site.unregister(article_model)
    admin.site.register(article_model, CoopArticleAdmin)

if "coop_tag" in settings.INSTALLED_APPS:
    from coop_tag.settings import get_class
    from coop.tag.admin import TagAdmin
    admin.site.unregister(get_class('tag'))
    admin.site.register(get_class('tag'), TagAdmin)  # TODO find out why this hack has to be there !!!

if 'forms_builder.forms' in settings.INSTALLED_APPS:
    from coop.admin import CoopFormAdmin
    from forms_builder.forms.models import Form
    admin.site.unregister(Form)
    admin.site.register(Form, CoopFormAdmin)

if "coop.agenda" in settings.INSTALLED_APPS:
    from coop.agenda.admin import EventAdmin, EventCategoryAdmin
    admin.site.register(Event, EventAdmin)
    admin.site.register(EventCategory, EventCategoryAdmin)
    admin.site.register(Calendar)

Ejemplo n.º 6
0
from coop_tag.settings import get_class
#from feincms.admin import tree_editor


class TaggedItemInline(admin.StackedInline):
    model = get_class('taggeditem')


# We just override the TreeEditor template to add some custom CSS
# and put the move cursor before the object title

# class TagTreeAdmin(tree_editor.TreeEditor):
#     def __init__(self, *args, **kwargs):
#         super(TagTreeAdmin, self).__init__(*args, **kwargs)
#         self.change_list_template = [
#             'admin/feincms/tag_tree_editor.html',
#             ]

#     def changelist_view(self, request, extra_context=None, *args, **kwargs):
#         if 'actions_column' not in self.list_display:
#             self.list_display.insert(0, 'actions_column')
#         return super(TagTreeAdmin, self).changelist_view(request, extra_context)


    # inlines = [
    #     TaggedItemInline
    # ]


admin.site.register(get_class('tag'))#, TagTreeAdmin)
Ejemplo n.º 7
0
# -*- coding:utf-8 -*-

from django.contrib.contenttypes.models import ContentType
from django.shortcuts import get_object_or_404
from django.views.generic.list_detail import object_list
from django.template import RequestContext
from django.shortcuts import render_to_response

from coop_tag.settings import get_class, TAGGER_MAX_SUGGESTIONS

Tag = get_class('tag')
TaggedItem = get_class('taggeditem')


def tagged_object_list(request, slug, queryset, **kwargs):
    if callable(queryset):
        queryset = queryset()
    tag = get_object_or_404(Tag, slug=slug)
    qs = queryset.filter(pk__in=TaggedItem.objects.filter(
        tag=tag, content_type=ContentType.objects.get_for_model(queryset.model)
    ).values_list("object_id", flat=True))
    if "extra_context" not in kwargs:
        kwargs["extra_context"] = {}
    kwargs["extra_context"]["tag"] = tag
    return object_list(request, qs, **kwargs)

    # PB : n'est bon que si on passe le queryset d'un modèle spécifique


def tag_detail(request, slug):
    context = {}
Ejemplo n.º 8
0
    admin.site.register(MailingList, MailingListAdmin)
    admin.site.register(Newsletter, NewsletterAdmin)

if "coop.exchange" in settings.INSTALLED_APPS:
    from coop.exchange.admin import ExchangeAdmin

    admin.site.register(ExchangeMethod)
    admin.site.register(Exchange, ExchangeAdmin)

if "coop_cms" in settings.INSTALLED_APPS:
    from coop.article.admin import CoopArticleAdmin
    from coop_cms.settings import get_article_class

    article_model = get_article_class()
    admin.site.unregister(article_model)
    admin.site.register(article_model, CoopArticleAdmin)

if "coop_tag" in settings.INSTALLED_APPS:
    from coop_tag.settings import get_class

    admin.site.unregister(get_class("tag"))
    admin.site.register(get_class("tag"))  # TODO find out why this hack has to be there !!!

if "forms_builder.forms" in settings.INSTALLED_APPS:
    from coop.admin import CoopFormAdmin
    from forms_builder.forms.models import Form

    admin.site.unregister(Form)
    admin.site.register(Form, CoopFormAdmin)
Ejemplo n.º 9
0
# 23 - Ville
# 24 - Jours d’ouverture
# 25 - longitude
# 26 - latitude 
# 27 - Email de la structure
# 28 - Teléphone
# 29 - Fax
# 30 - Mobile

current_time = datetime.datetime.now()
logging.basicConfig(filename='%(date)s_structure_migration.log' % {'date': current_time.strftime("%Y-%m-%d")},
                    level=logging.DEBUG,
                    format='%(asctime)s %(levelname)s - %(message)s',
                    datefmt='%d/%m/%Y %H:%M:%S',)

Tag = get_class('tag')

class Command(BaseCommand):
    args = '<import_file>'
    help = 'Import structure file'

    def handle(self, *args, **options):

        for import_file in args:

            errors_array = []
            dest_file = csv.DictReader(open(import_file, 'rb'), delimiter=',', quotechar='"')

            for row in dest_file:
                
                title = row['Raison sociale']