Ejemplo n.º 1
0
    def get_queryset(self):
        """
        Get all disciplines
        """

        discipline = Disciplines()
        disciplines = discipline.get_disciplines('rdfs:subClassOf',
                                                 'pp:Discipline')

        disciplines_content = []
        for discipline in disciplines:
            success = self.verify_contents(discipline)
            if success:
                disciplines_content.append(discipline)

        return disciplines_content
Ejemplo n.º 2
0
    def get_context_data(self, **kwargs):
        """
        Get discipline to specific semestes.
        """

        context = super(DisciplineDetailView, self).get_context_data(**kwargs)

        discipline = self.get_object()

        context['are_requireds_of'] = Disciplines.get_is_required_of(
            discipline.uri)

        context['requireds'] = Disciplines.get_requireds(discipline.uri)

        context['program'] = Disciplines.get_contents(discipline.uri)

        return context
Ejemplo n.º 3
0
    def get_queryset(self):
        """
        Get all disciplines.
        """

        disciplines = Disciplines()

        return disciplines.all
Ejemplo n.º 4
0
    def verify_requireds(self, discipline):
        """
        Verify if discipline in the list is required of specific discipline.
        """

        # is Required Of
        disciplines = Disciplines.get_requireds(discipline.uri)

        slug = self.kwargs.get('discipline', '')

        for discipline in disciplines:
            if discipline.slug == slug:
                return False

        requireds = Disciplines.get_requireds(self.get_object().uri)

        for required in requireds:
            if required.slug == discipline.slug:
                return False

        return True
Ejemplo n.º 5
0
    def discipline_exists(self, title):
        """
        Verify if exists the discipline into triple store
        """

        disciplines = Disciplines()

        for discipline in disciplines.all:
            if discipline.slug == slugify(title):
                return True

        return False
Ejemplo n.º 6
0
    def verify_contents(self, discipline):
        """
        Verify if discipline already has the specific content.
        """

        contents = Disciplines.get_contents(discipline.uri)
        slug = self.kwargs.get('subtopic', '')

        for content in contents:
            if content.slug == slug:
                return False

        return True
Ejemplo n.º 7
0
    def get_object(self):
        """
        Get the specific discipline
        """

        disciplines = Disciplines().get_disciplines("rdfs:subClassOf",
                                                    "pp:Discipline")

        slug = self.kwargs.get('discipline', '')

        for discipline in disciplines:
            if discipline.slug == slug:
                return discipline

        return None
Ejemplo n.º 8
0
    def get_required(self):
        """
        Get the specific required discipline.
        """

        disciplines = Disciplines().get_disciplines("rdfs:subClassOf",
                                                    "pp:Discipline")

        slug = self.kwargs.get('required', '')

        for discipline in disciplines:
            if discipline.slug == slug:
                return discipline

        return None
Ejemplo n.º 9
0
    def get_required(self):
        """
        Get the specific required discipline.
        """

        discipline = self.get_object()

        requireds = Disciplines.get_requireds(discipline.uri)

        slug = self.kwargs.get('required', '')

        for required in requireds:
            if required.slug == slug:
                return required

        return None
Ejemplo n.º 10
0
    def get_subtopic(self):
        """
        Get the specific subtopic of discipline.
        """

        discipline = self.get_object()

        subtopics = Disciplines.get_contents(discipline.uri)

        slug = self.kwargs.get('subtopic', '')

        for subtopic in subtopics:
            if subtopic.slug == slug:
                return subtopic

        return None
Ejemplo n.º 11
0
    def remove_subtopics(self):
        """
        Remove all subtopics from discipline.
        """

        discipline = self.get_object()

        subtopics = Disciplines.get_contents(discipline.uri)

        if subtopics:
            for subtopic in subtopics:
                query = """
                    PREFIX pp: <http://www.semanticweb.org/ontologies/2018/Pedagogical_Project/>
                    DELETE {<%s> pp:hasContent <%s>} WHERE {}
                """ % (discipline.uri, subtopic.uri)

                Query.update(query)
Ejemplo n.º 12
0
    def get_queryset(self):
        """
        Get all disciplines
        """

        disciplines = Disciplines().get_disciplines('rdfs:subClassOf',
                                                    'pp:Discipline')

        slug = self.kwargs.get('discipline', '')

        required_disciplines = []
        for discipline in disciplines:
            if discipline.slug != slug:
                success = self.verify_requireds(discipline)
                if success:
                    required_disciplines.append(discipline)

        return required_disciplines
Ejemplo n.º 13
0
    def get_context_data(self, **kwargs):
        """
        Get discipline to specific semestes.
        """

        disciplines = Disciplines()

        context = super(DisciplineListView, self).get_context_data(**kwargs)

        context['first_semester'] = disciplines.first_semester
        context['second_semester'] = disciplines.second_semester
        context['third_semester'] = disciplines.third_semester
        context['fourth_semester'] = disciplines.fourth_semester
        context['fifth_semester'] = disciplines.fifth_semester
        context['sixth_semester'] = disciplines.sixth_semester
        context['seventh_semester'] = disciplines.seventh_semester
        context['eighth_semester'] = disciplines.eighth_semester
        context['ninth_semester'] = disciplines.ninth_semester
        context['tenth_semester'] = disciplines.tenth_semester

        return context
Ejemplo n.º 14
0
    def remove_requireds(self):
        """
        Remove all requireds discipline from discipline.
        """

        discipline = self.get_object()

        requireds = Disciplines.get_requireds(discipline.uri)

        if requireds:
            for required in requireds:
                query = """
                    PREFIX pp: <http://www.semanticweb.org/ontologies/2018/Pedagogical_Project/>
                    DELETE {
                        <%s> pp:hasRequired <%s> .
                        <%s> pp:isRequiredOf <%s>
                    } WHERE {}
                """ % (discipline.uri, required.uri, required.uri,
                       discipline.uri)

                Query.update(query)