Skip to content

Commit d2d9dbd

Browse files
authored
Fix course has certificate (#1086)
* Use with_certificate instead of custom computed property
1 parent 006cddb commit d2d9dbd

File tree

4 files changed

+8
-14
lines changed

4 files changed

+8
-14
lines changed

Stepic/Legacy/Model/Entities/Course/Course.swift

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,10 @@ final class Course: NSManagedObject, ManagedObject, IDFetchable {
7171
self.purchases.contains(where: { $0.isActive })
7272
}
7373

74-
var anyCertificateTreshold: Int? {
74+
var anyCertificateThreshold: Int? {
7575
self.certificateRegularThreshold ?? self.certificateDistinctionThreshold
7676
}
7777

78-
var hasCertificate: Bool {
79-
let hasText = !self.certificate.isEmpty
80-
let isIssued = self.isCertificatesAutoIssued && self.isCertificateIssued
81-
return self.anyCertificateTreshold != nil && (hasText || isIssued)
82-
}
83-
8478
var defaultPromoCode: PromoCode? {
8579
if let defaultPromoCodeName = self.defaultPromoCodeName,
8680
let defaultPromoCodePrice = self.defaultPromoCodePrice {

Stepic/Sources/Modules/CourseInfoSubmodules/CourseInfoTabInfo/CourseInfoTabInfoPresenter.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ final class CourseInfoTabInfoPresenter: CourseInfoTabInfoPresenterProtocol {
3939
let aboutText = course.courseDescription.isEmpty ? course.summary : course.courseDescription
4040

4141
let certificateText = self.makeFormattedCertificateText(course: course)
42-
let certificateDetailsText = course.hasCertificate
42+
let certificateDetailsText = course.isWithCertificate
4343
? self.makeFormattedCertificateDetailsText(
4444
conditionPoints: course.certificateRegularThreshold,
4545
distinctionPoints: course.certificateDistinctionThreshold
@@ -91,12 +91,12 @@ final class CourseInfoTabInfoPresenter: CourseInfoTabInfoPresenterProtocol {
9191
}
9292

9393
private func makeFormattedCertificateText(course: Course) -> String {
94-
let predefinedText = course.hasCertificate
94+
let predefinedText = course.isWithCertificate
9595
? NSLocalizedString("CertificateIsIssued", comment: "")
9696
: NSLocalizedString("CertificateIsNotIssued", comment: "")
9797
let certificateText = course.certificate.trimmingCharacters(in: .whitespaces)
9898

99-
return course.hasCertificate && !certificateText.isEmpty
99+
return course.isWithCertificate && !certificateText.isEmpty
100100
? certificateText
101101
: predefinedText
102102
}

Stepic/Sources/Modules/CourseList/CourseListPresenter.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ final class CourseListPresenter: CourseListPresenterProtocol {
130130
ratingLabelText = FormatterHelper.averageRating(averageRating)
131131
}
132132

133-
let certificateLabelText = course.hasCertificate ? NSLocalizedString("Certificate", comment: "") : nil
133+
let certificateLabelText = course.isWithCertificate ? NSLocalizedString("Certificate", comment: "") : nil
134134

135135
var priceViewModel: CourseWidgetPriceViewModel?
136136
if isCoursePricesEnabled {

Stepic/Sources/Modules/LessonPanModals/LessonFinishedStepsPanModal/LessonFinishedStepsPanModalPresenter.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,8 @@ final class LessonFinishedStepsPanModalPresenter: LessonFinishedStepsPanModalPre
9696
return didWriteReview ? .successWithoutCertWithReview : .successWithoutCertWithoutReview
9797
}
9898
} else {
99-
let didReceiveCertificate = course.anyCertificateTreshold != nil
100-
? (progressScore >= Float(course.anyCertificateTreshold.require()))
99+
let didReceiveCertificate = course.anyCertificateThreshold != nil
100+
? (progressScore >= Float(course.anyCertificateThreshold.require()))
101101
: false
102102

103103
if didReceiveCertificate {
@@ -261,7 +261,7 @@ final class LessonFinishedStepsPanModalPresenter: LessonFinishedStepsPanModalPre
261261
.successWithCertWithoutReview,
262262
.successWithCertWithReview:
263263
let progressScore = course.progress?.score ?? 0
264-
let anyCertificateThreshold = Float(course.anyCertificateTreshold ?? 0)
264+
let anyCertificateThreshold = Float(course.anyCertificateThreshold ?? 0)
265265

266266
let needScore = anyCertificateThreshold - progressScore
267267

0 commit comments

Comments
 (0)