Ejemplo n.º 1
0
class GeneralCharacteristicsSerializer(serializers.ModelSerializer):
    """Сериализатор образовательной программы"""
    area_of_activity = ProfessionalAreaOfGeneralCharacteristicsSerializer(
        many=True)
    educational_program = EducationalProgramSerializer()
    group_of_general_prof_competences = GroupOfGeneralProfCompetencesInGeneralCharacteristicSerializer(
        many=True)
    group_of_key_competences = GroupOfKeyCompetencesInGeneralCharacteristicSerializer(
        many=True)
    group_of_over_prof_competences = GroupOfOverProfCompetencesInGeneralCharacteristicSerializer(
        many=True)
    group_of_pk_competences = GroupOfPkCompetencesInGeneralCharacteristicSerializer(
        many=True)
    developers = userProfileSerializer(many=True)
    employers_representatives = userProfileSerializer(many=True)
    director_of_megafaculty = userProfileSerializer()
    dean_of_the_faculty = userProfileSerializer()
    scientific_supervisor_of_the_educational_program = userProfileSerializer()

    class Meta:
        model = GeneralCharacteristics
        fields = [
            'id', 'area_of_activity', 'educational_program',
            'group_of_pk_competences', 'group_of_over_prof_competences',
            'group_of_key_competences', 'group_of_general_prof_competences',
            'developers', 'employers_representatives',
            'director_of_megafaculty', 'dean_of_the_faculty',
            'scientific_supervisor_of_the_educational_program',
            'objects_of_activity', 'kinds_of_activity', 'tasks_of_activity',
            'type_of_activity', 'annotation'
        ]
Ejemplo n.º 2
0
class GeneralCharacteristicsSerializer(serializers.ModelSerializer):
    """Сериализатор образовательной программы"""
    area_of_activity = ProfessionalAreaOfGeneralCharacteristicsSerializer(
        many=True)
    educational_program = EducationalProgramSerializer()
    ok_competences = CompetenceForEPSerializer(many=True)
    kc_competences = CompetenceForEPSerializer(many=True)
    pk_competences = PkCompetencesInGeneralCharacteristicsSerializer(
        source='pkcompetencesingeneralcharacteristics_set', many=True)
    np_competences = CompetenceForEPSerializer(many=True)
    developers = userProfileSerializer(many=True)
    employers_representatives = userProfileSerializer(many=True)
    director_of_megafaculty = userProfileSerializer()
    dean_of_the_faculty = userProfileSerializer()
    scientific_supervisor_of_the_educational_program = userProfileSerializer()

    class Meta:
        model = GeneralCharacteristics
        fields = [
            'id', 'area_of_activity', 'educational_program', 'ok_competences',
            'kc_competences', 'np_competences', 'pk_competences', 'developers',
            'employers_representatives', 'director_of_megafaculty',
            'dean_of_the_faculty',
            'scientific_supervisor_of_the_educational_program',
            'objects_of_activity', 'kinds_of_activity', 'tasks_of_activity',
            'type_of_activity', 'annotation'
        ]
Ejemplo n.º 3
0
class DepartmentSerializer(serializers.ModelSerializer):
    """Сериализатор образовательной программы"""
    dean = userProfileSerializer()

    class Meta:
        model = Department
        fields = "__all__"
Ejemplo n.º 4
0
class UserStructuralUnitSerializer(serializers.ModelSerializer):
    """
    Cериализатор работника в подразделении
    """
    user = userProfileSerializer()

    class Meta:
        model = UserStructuralUnit
        fields = "__all__"
Ejemplo n.º 5
0
 def to_representation(self, value):
     self.fields['work_program'] = WorkProgramShortForExperiseSerializer(
         many=False, read_only=True)
     self.fields['experts'] = userProfileSerializer(many=True,
                                                    read_only=True)
     self.fields[
         'expertse_users_in_rpd'] = UserExpertiseForExpertiseSerializer(
             many=True, read_only=True)
     return super().to_representation(value)
class EducationalProgramSerializer(serializers.ModelSerializer):
    """Сериализатор образовательной программы"""
    manager = userProfileSerializer()
    academic_plan_for_ep = ImplementationAcademicPlanSerializer()


    class Meta:
        model = EducationalProgram
        fields = "__all__"
Ejemplo n.º 7
0
class IndividualImplementationAcademicPlanSerializer(
        serializers.ModelSerializer):
    """Сериализатор вывода группы профессиональных куомпетенций в общей характеристике образовтаельной программы"""

    implementation_of_academic_plan = ImplementationAcademicPlanSerializer()
    user = userProfileSerializer()

    class Meta:
        model = IndividualImplementationAcademicPlan
        fields = "__all__"
Ejemplo n.º 8
0
 def to_representation(self, value):
     self.fields['owner'] = userProfileSerializer(many=False)
     # self.fields['work_program'] = WorkProgramShortForExperiseSerializer(many=True)
     self.fields['work_program_in_folder'] = WorkProgramInFolderSerializer(
         many=True)
     self.fields[
         'academic_plan_in_folder'] = AcademicPlanInFolderSerializer(
             many=True)
     self.fields['block_module_in_folder'] = ModuleInFolderSerializer(
         many=True)
     return super().to_representation(value)
Ejemplo n.º 9
0
class WorkProgramShortForExperiseSerializerWithStructUnitWithEditors(
        serializers.ModelSerializer):
    """Сериализатор рабочих программ"""
    structural_unit = ShortStructuralUnitSerializer(many=False)
    editors = userProfileSerializer(many=True)

    class Meta:
        model = WorkProgram
        fields = [
            'id', 'title', 'discipline_code', 'qualification', 'prerequisites',
            'outcomes', 'structural_unit', 'editors'
        ]
Ejemplo n.º 10
0
class DisciplineBlockModuleDetailSerializer(serializers.ModelSerializer):
    change_blocks_of_work_programs_in_modules = WorkProgramChangeInDisciplineBlockModuleSerializer(
        many=True)
    descipline_block = DisciplineBlockDetailAcademicSerializer(many=False)
    editors = userProfileSerializer(many=True)

    class Meta:
        model = DisciplineBlockModule
        fields = "__all__"
        extra_kwargs = {
            'change_blocks_of_work_programs_in_modules': {
                'required': False
            }
        }
Ejemplo n.º 11
0
class WorkProgramSerializerForStatisticExtended(serializers.ModelSerializer):
    editors = userProfileSerializer(many=True)
    academic_plans = serializers.SerializerMethodField()
    structural_unit = ShortStructuralUnitSerializer(many=False)

    def get_academic_plans(self, instance):
        return AcademicPlansStatisticSerializer(
            instance=AcademicPlan.objects.filter(
                discipline_blocks_in_academic_plan__modules_in_discipline_block__change_blocks_of_work_programs_in_modules__work_program=instance.id),
            many=True).data

    class Meta:
        model = WorkProgram
        fields = ['id', 'title', "structural_unit", 'discipline_code', "editors", "academic_plans"]
Ejemplo n.º 12
0
class EducationalProgramSerializerWithNum(serializers.ModelSerializer):
    """Сериализатор образовательной программы"""
    manager = userProfileSerializer()
    academic_plan_for_ep = ImplementationAcademicPlanSerializer()
    can_edit = ser(read_only=True)

    def to_representation(self, instance):
        data = super().to_representation(instance)
        try:
            data["can_edit"] = self.context[
                'request'].user == instance.manager or bool(
                    self.context['request'].user.groups.filter(
                        name="education_plan_developer"))
        except KeyError:
            data["can_edit"] = False
        return data
Ejemplo n.º 13
0
class EducationalProgramSerializer(serializers.ModelSerializer):
    """Сериализатор образовательной программы"""
    manager = userProfileSerializer()
    academic_plan_for_ep = ImplementationAcademicPlanSerializer()
    can_edit = BooleanField(read_only=True)

    def to_representation(self, instance):
        data = super().to_representation(instance)
        data["can_edit"] = self.context[
            'request'].user == instance.manager or bool(
                self.context['request'].user.groups.filter(
                    name="education_plan_developer"))
        return data

    class Meta:
        model = EducationalProgram
        fields = "__all__"
Ejemplo n.º 14
0
class WorkProgramSerializer(serializers.ModelSerializer):
    """Сериализатор рабочих программ"""
    #prerequisites = serializers.StringRelatedField(many=True)
    prerequisites = PrerequisitesOfWorkProgramInWorkProgramSerializer(
        source='prerequisitesofworkprogram_set', many=True)
    # outcomes = serializers.StringRelatedField(many=True)
    outcomes = OutcomesOfWorkProgramInWorkProgramSerializer(
        source='outcomesofworkprogram_set', many=True)
    #discipline_sections = serializers.SlugRelatedField(many=True, read_only=True, slug_field='name')
    discipline_sections = DisciplineSectionSerializer(many=True)
    discipline_certification = CertificationSerializer(many=True)
    bibliographic_reference = BibliographicReferenceSerializer(many=True,
                                                               required=False)
    work_program_in_change_block = WorkProgramChangeInDisciplineBlockModuleForWPinFSSerializer(
        many=True)
    expertise_with_rpd = ShortExpertiseSerializer(many=True, read_only=True)
    certification_evaluation_tools = СertificationEvaluationToolForWorkProgramSerializer(
        many=True)
    editors = userProfileSerializer(many=True)
    structural_unit = ShortStructuralUnitSerializer()

    class Meta:
        model = WorkProgram
        fields = [
            'id', 'approval_date', 'authors', 'discipline_code',
            'qualification', 'prerequisites', 'outcomes', 'title',
            'hoursFirstSemester', 'hoursSecondSemester', 'discipline_sections',
            'discipline_certification', 'bibliographic_reference',
            'description', 'video', 'work_program_in_change_block',
            'expertise_with_rpd', 'work_status',
            'certification_evaluation_tools', 'hours', 'extra_points',
            'editors', 'language', 'structural_unit', 'have_course_project',
            'have_diff_pass', 'have_pass', 'have_exam', 'lecture_hours',
            'practice_hours', 'lab_hours', 'srs_hours'
        ]

    def create(self, validated_data):
        """
        Create and return a new `Snippet` instance, given the validated data.
        """
        return WorkProgram.objects.create(**validated_data)
Ejemplo n.º 15
0
class WorkProgramSerializerForStatistic(serializers.ModelSerializer):
    editors = userProfileSerializer(many=True)

    class Meta:
        model = WorkProgram
        fields = ['id', 'title', 'discipline_code', "editors"]
Ejemplo n.º 16
0
    def to_representation(self, value):
        self.fields['expert'] = userProfileSerializer(many=False)

        return super().to_representation(value)
Ejemplo n.º 17
0
class OnlyUserExpertiseSerializer(serializers.ModelSerializer):
    expert = userProfileSerializer(many=False)

    class Meta:
        model = UserExpertise
        fields = ['expert']
Ejemplo n.º 18
0
    def to_representation(self, value):
        self.fields['expert'] = userProfileSerializer(many=False)
        self.fields['expertise'] = ExpertiseSerializer(many=False, read_only=True)

        return super().to_representation(value)
Ejemplo n.º 19
0
 def get_experts(self, instance):
     experts_instances = instance.experts.filter()
     return userProfileSerializer(experts_instances, many=True).data