try: self.category_id = Category.objects.get(slug="export-to-boehringer").pk except: self.category_id = None def get_filter_searchqueryset_q_obj(self, model_class): if not self.category_id: raise NoContentFlow if model_class == Project: return SQ(categories=self.category_id) elif model_class == Organization: return SQ(projects_categories=self.category_id) raise NoContentFlow def get_filter_queryset_q_obj(self, model_class): if not self.category_id: raise NoContentFlow if model_class == Project: return Q(categories=self.category_id) elif model_class == Organization: return Q(project__categories=self.category_id) elif model_class == Apply: return Q(project__categories=self.category_id) raise NoContentFlow CFM.add_flow(BoehringerContentFlow())
from ovp.apps.channels.content_flow import NoContentFlow from ovp.apps.channels.content_flow import CFM class RocheContentFlow(BaseContentFlow): source = "default" destination = "roche" def get_filter_searchqueryset_q_obj(self, model_class): if model_class == Project: return SQ() elif model_class == Organization: return SQ() elif model_class in [Cause, Skill]: return SQ() raise NoContentFlow def get_filter_queryset_q_obj(self, model_class): if model_class == Project: return Q() elif model_class == Organization: return Q() elif model_class == Apply: return Q() elif model_class in [Cause, Skill]: return Q() raise NoContentFlow CFM.add_flow(RocheContentFlow())
from ovp.apps.core.models import Skill from ovp.apps.projects.models import Category from ovp.apps.projects.models import Project from ovp.apps.projects.models import Apply from ovp.apps.organizations.models import Organization from ovp.apps.channels.content_flow import BaseContentFlow from ovp.apps.channels.content_flow import NoContentFlow from ovp.apps.channels.content_flow import CFM class BaseChannelContentFlow(BaseContentFlow): source = "default" destination = "base" def get_filter_searchqueryset_q_obj(self, model_class): if model_class in [Project, Organization]: return SQ() raise NoContentFlow def get_filter_queryset_q_obj(self, model_class): if model_class in [Cause, Skill, Project, Organization, Apply]: return Q() raise NoContentFlow if getenv('ENABLE_BASE_CONTENT_FLOW'): CFM.add_flow(BaseChannelContentFlow())
destination = "icn" def __init__(self): try: self.category_id = Category.objects.get(slug="instituto-center-norte").pk except: self.category_id = None def get_filter_searchqueryset_q_obj(self, model_class): if model_class == Project: return SQ(organization_categories=self.category_id) elif model_class == Organization: return SQ(categories=self.category_id) raise NoContentFlow def get_filter_queryset_q_obj(self, model_class): if model_class in [Cause, Skill]: return Q() elif model_class == Project: return Q(organization__categories=self.category_id) elif model_class == Organization: return Q(categories=self.category_id) elif model_class == Apply: return Q(project__organization__categories=self.category_id) raise NoContentFlow CFM.add_flow(ICNContentFlow())
return SQ(categories=self.category_id) elif model_class == Organization: return SQ(project__categories=self.category_id) raise NoContentFlow def get_filter_queryset_q_obj(self, model_class): if model_class == Project: return Q(categories=self.category_id) elif model_class == Organization: return Q(project__categories=self.category_id) elif model_class == Apply: return Q(project__categories=self.category_id) raise NoContentFlow class DefaultToGDD(BaseGDDContentFlow): source = "default" destination = "gdd" class GDDToDefault(BaseGDDContentFlow): source = "gdd" destination = "default" CFM.add_flow(DefaultToGDD()) CFM.add_flow(GDDToDefault())
def __init__(self): try: self.category_id = Category.objects.get(slug="atados-to-shell").pk except: self.category_id = None def get_filter_searchqueryset_q_obj(self, model_class): if model_class == Project: return SQ(categories=self.category_id) elif model_class == Organization: return SQ(projects_categories=self.category_id) raise NoContentFlow def get_filter_queryset_q_obj(self, model_class): if model_class in [Cause, Skill]: return Q() elif model_class == Project: return Q(categories=self.category_id) elif model_class == Organization: return Q(project__categories=self.category_id) elif model_class == Apply: return Q(project__categories=self.category_id) raise NoContentFlow CFM.add_flow(ShellContentFlow())
def by_channel_content_flow(queryset, channel_string=None): queryset = CFM.filter_searchqueryset(channel_string, queryset) return queryset
def get_project_object(self, *args, **kwargs): slug = kwargs.get('project_slug') qs = CFM.filter_queryset(self.request.channel, models.Project.objects.all()) return get_object_or_404(qs, slug=slug)
def patched_queryset(self): return CFM.filter_queryset(self.request.channel, queryset)
def patched_get_queryset(self, *args, **kwargs): return CFM.filter_queryset(self.request.channel, get_queryset(self, *args, **kwargs))
return SQ(org_id__in=self.organizations_id) raise NoContentFlow def get_filter_queryset_q_obj(self, model_class): if model_class == Project: return Q(organization__in=self.organizations_id) elif model_class == Organization: return Q(pk__in=self.organizations_id) elif model_class == Apply: return Q(project__organization_id__in=self.organizations_id) raise NoContentFlow CFM.add_flow(RRPContentFlow()) class DefaultToRRPContentFlow(BaseContentFlow): source = "default" destination = "rrp" def __init__(self): self.organizations_id = [45] def get_filter_searchqueryset_q_obj(self, model_class): if model_class == Project: return SQ(organization__in=self.organizations_id) elif model_class == Organization: return SQ(org_id__in=self.organizations_id)