uclouvain/osis-dissertation

View on GitHub

Showing 77 of 77 total issues

Similar blocks of code found in 4 locations. Consider refactoring.
Open

@property
def in_periode_visibility_dissertation(self):
start = self.start_visibility_dissertation
end = self.end_visibility_dissertation
 
 
Severity: Major
Found in models/offer_proposition.py and 3 other locations - About 55 mins to fix
models/offer_proposition.py on lines 93..98
models/offer_proposition.py on lines 107..112
models/offer_proposition.py on lines 114..119

Similar blocks of code found in 4 locations. Consider refactoring.
Open

@property
def in_periode_jury_visibility(self):
start = self.start_jury_visibility
end = self.end_jury_visibility
 
 
Severity: Major
Found in models/offer_proposition.py and 3 other locations - About 55 mins to fix
models/offer_proposition.py on lines 93..98
models/offer_proposition.py on lines 100..105
models/offer_proposition.py on lines 114..119

Identical blocks of code found in 2 locations. Consider refactoring.
Open

for document in documents:
document.delete()
old_document = mdl_osis_common.document_file.find_by_id(document.document_file.id)
old_document.delete()
Severity: Minor
Found in views/upload_dissertation_file.py and 1 other location - About 55 mins to fix
views/upload_proposition_file.py on lines 98..101

Similar blocks of code found in 4 locations. Consider refactoring.
Open

@property
def in_periode_edit_title(self):
start = self.start_edit_title
end = self.end_edit_title
 
 
Severity: Major
Found in models/offer_proposition.py and 3 other locations - About 55 mins to fix
models/offer_proposition.py on lines 93..98
models/offer_proposition.py on lines 100..105
models/offer_proposition.py on lines 107..112

Similar blocks of code found in 2 locations. Consider refactoring.
Open

queryset=OfferProposition.objects.annotate(last_acronym=Subquery(
EducationGroupYear.objects.filter(
education_group__offer_proposition=OuterRef('pk'),
Severity: Minor
Found in views/proposition_dissertation.py and 1 other location - About 50 mins to fix
views/proposition_dissertation.py on lines 566..568

Similar blocks of code found in 2 locations. Consider refactoring.
Open

offer_propositions = OfferProposition.objects.exclude(education_group=None).annotate(last_acronym=Subquery(
EducationGroupYear.objects.filter(
education_group__offer_proposition=OuterRef('pk'),
Severity: Minor
Found in views/proposition_dissertation.py and 1 other location - About 50 mins to fix
views/proposition_dissertation.py on lines 106..108

Similar blocks of code found in 2 locations. Consider refactoring.
Open

class AdvisersGetSerializer(serializers.Serializer):
uuid = serializers.CharField(read_only=True)
name = serializers.CharField(read_only=True, source='person')
Severity: Minor
Found in api/serializers/adviser.py and 1 other location - About 45 mins to fix
api/serializers/adviser.py on lines 30..32

Similar blocks of code found in 2 locations. Consider refactoring.
Open

class DissertationUpdateAdmin(SerializableModelAdmin):
list_display = ('dissertation', 'status_from', 'status_to', 'person', 'created')
raw_id_fields = ('person', 'dissertation')
search_fields = ('uuid', 'dissertation__title', 'person__last_name', 'person__first_name',
'dissertation__author__person__last_name', 'dissertation__author__person__first_name')
Severity: Minor
Found in models/dissertation_update.py and 1 other location - About 45 mins to fix
models/dissertation_role.py on lines 36..40

Function proposition_dissertation_edit has a Cognitive Complexity of 11 (exceeds 8 allowed). Consider refactoring.
Open

def proposition_dissertation_edit(request, pk):
proposition = proposition_dissertation.find_by_id(pk)
if proposition is None:
return redirect('proposition_dissertations')
adv = get_current_adviser(request)
Severity: Minor
Found in views/proposition_dissertation.py - About 45 mins to fix

Similar blocks of code found in 2 locations. Consider refactoring.
Open

class DissertationRoleAdmin(SerializableModelAdmin):
list_display = ('adviser', 'status', 'dissertation', 'author', 'dissertation_status')
raw_id_fields = ('adviser', 'dissertation')
search_fields = ('uuid', 'dissertation__author__person__last_name', 'dissertation__author__person__first_name',
'dissertation__title', 'adviser__person__last_name', 'adviser__person__first_name')
Severity: Minor
Found in models/dissertation_role.py and 1 other location - About 45 mins to fix
models/dissertation_update.py on lines 38..42

Function add has 6 arguments (exceeds 4 allowed). Consider refactoring.
Open

def add(person, type_arg, available_by_email, available_by_phone, available_at_office, comment):
Severity: Minor
Found in models/adviser.py - About 45 mins to fix

    Similar blocks of code found in 2 locations. Consider refactoring.
    Open

    class AdvisersListSerializer(serializers.Serializer):
    uuid = serializers.CharField(read_only=True)
    name = serializers.CharField(read_only=True, source='person')
    Severity: Minor
    Found in api/serializers/adviser.py and 1 other location - About 45 mins to fix
    api/serializers/adviser.py on lines 35..37

    Consider simplifying this complex logical expression.
    Open

    if offer_prop.validation_commission_exists and dissert.status == 'DIR_SUBMIT':
     
    return 'COM_SUBMIT'
     
    elif offer_prop.evaluation_first_year and (dissert.status == 'DIR_SUBMIT' or
    Severity: Major
    Found in models/dissertation.py - About 40 mins to fix

      Function search has 5 arguments (exceeds 4 allowed). Consider refactoring.
      Open

      def search(terms, active=None, visibility=None, connected_adviser=None, education_groups=None):
      Severity: Minor
      Found in models/proposition_dissertation.py - About 35 mins to fix

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        if is_valid(request, form):
        proposition = edit_proposition(form, proposition_offers, request)
        return redirect('manager_proposition_dissertation_detail', pk=proposition.pk)
        Severity: Minor
        Found in views/proposition_dissertation.py and 1 other location - About 35 mins to fix
        views/proposition_dissertation.py on lines 504..506

        Similar blocks of code found in 2 locations. Consider refactoring.
        Open

        if is_valid(request, form):
        proposition = edit_proposition(form, proposition_offers, request)
        return redirect('proposition_dissertation_detail', pk=proposition.pk)
        Severity: Minor
        Found in views/proposition_dissertation.py and 1 other location - About 35 mins to fix
        views/proposition_dissertation.py on lines 189..191

        Avoid too many return statements within this function.
        Open

        return 'DIR_KO'
        Severity: Major
        Found in models/dissertation.py - About 30 mins to fix

          Avoid too many return statements within this function.
          Open

          return 'TO_RECEIVE'
          Severity: Major
          Found in models/dissertation.py - About 30 mins to fix

            Avoid too many return statements within this function.
            Open

            return 'ENDED_LOS'
            Severity: Major
            Found in models/dissertation.py - About 30 mins to fix

              Avoid too many return statements within this function.
              Open

              return 'ENDED_WIN'
              Severity: Major
              Found in models/dissertation.py - About 30 mins to fix
                Severity
                Category
                Status
                Source
                Language