Skip to content

Commit

Permalink
Merge branch 'main' into hotfix/552-exam-calls-are-not-visible
Browse files Browse the repository at this point in the history
  • Loading branch information
FabrizioCostaMedich authored Feb 7, 2025
2 parents f8c88f0 + 65265b1 commit fa0a240
Show file tree
Hide file tree
Showing 97 changed files with 2,635 additions and 792 deletions.
17 changes: 12 additions & 5 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ on:
type: string
description: Build piece (last 2 digits of build_no)
required: true
create_release:
type: boolean
description: Create release
required: true
default: false

jobs:
configure:
Expand Down Expand Up @@ -75,7 +80,7 @@ jobs:
PUSH_TESTFLIGHT=true
PUSH_PLAYSTORE="${{ vars.PLAYSTORE_RELEASE_TRACK }}"
VERSION="${{ steps.tag_version.outputs.version }}"
BUILD_PIECE=0
BUILD_PIECE=90
elif [[ "${{ github.event.inputs.version }}" != "" ]]; then
# On repo manual dispatch
PUSH_TESTFLIGHT="${{ github.event.inputs.push_to_testflight }}"
Expand Down Expand Up @@ -301,16 +306,18 @@ jobs:
permissions:
contents: write
if: |
github.event_name == 'push' &&
github.event.repository.full_name == github.repository &&
github.ref_type == 'tag'
(
(github.event_name == 'push' && github.ref_type == 'tag') ||
github.event.inputs.create_release == 'true'
)
needs: [build-android, build-ios]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Gather artifacts
uses: actions/download-artifact@v3
uses: actions/download-artifact@v4
with:
name: android-release
path: ./android-release
Expand All @@ -319,4 +326,4 @@ jobs:
with:
generateReleaseNotes: true
skipIfReleaseExists: true
artifacts: ./android-release/*.apk
artifacts: ./android-release/*.apk
48 changes: 24 additions & 24 deletions Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -23,20 +23,20 @@ GEM
artifactory (3.0.17)
atomos (0.1.3)
aws-eventstream (1.3.0)
aws-partitions (1.1001.0)
aws-sdk-core (3.211.0)
aws-partitions (1.1043.0)
aws-sdk-core (3.217.0)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.992.0)
aws-sigv4 (~> 1.9)
jmespath (~> 1, >= 1.6.1)
aws-sdk-kms (1.95.0)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sdk-kms (1.97.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sigv4 (~> 1.5)
aws-sdk-s3 (1.169.0)
aws-sdk-core (~> 3, >= 3.210.0)
aws-sdk-s3 (1.178.0)
aws-sdk-core (~> 3, >= 3.216.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.5)
aws-sigv4 (1.10.1)
aws-sigv4 (1.11.0)
aws-eventstream (~> 1, >= 1.0.2)
babosa (1.0.4)
base64 (0.2.0)
Expand Down Expand Up @@ -86,7 +86,7 @@ GEM
concurrent-ruby (1.2.3)
connection_pool (2.4.1)
declarative (0.0.20)
digest-crc (0.6.5)
digest-crc (0.7.0)
rake (>= 12.0.0, < 14.0.0)
domain_name (0.6.20240107)
dotenv (2.8.1)
Expand Down Expand Up @@ -115,17 +115,17 @@ GEM
faraday-em_synchrony (1.0.0)
faraday-excon (1.1.0)
faraday-httpclient (1.0.1)
faraday-multipart (1.0.4)
multipart-post (~> 2)
faraday-multipart (1.1.0)
multipart-post (~> 2.0)
faraday-net_http (1.0.2)
faraday-net_http_persistent (1.2.0)
faraday-patron (1.0.0)
faraday-rack (1.0.0)
faraday-retry (1.0.3)
faraday_middleware (1.2.1)
faraday (~> 1.0)
fastimage (2.3.1)
fastlane (2.225.0)
fastimage (2.4.0)
fastlane (2.226.0)
CFPropertyList (>= 2.3, < 4.0.0)
addressable (>= 2.8, < 3.0.0)
artifactory (~> 3.0)
Expand Down Expand Up @@ -165,9 +165,9 @@ GEM
tty-spinner (>= 0.8.0, < 1.0.0)
word_wrap (~> 1.0.0)
xcodeproj (>= 1.13.0, < 2.0.0)
xcpretty (~> 0.3.0)
xcpretty (~> 0.4.0)
xcpretty-travis-formatter (>= 0.0.3, < 2.0.0)
fastlane-plugin-sentry (1.25.1)
fastlane-plugin-sentry (1.27.1)
os (~> 1.1, >= 1.1.4)
fastlane-plugin-versioning_android (0.1.1)
fastlane-sirp (1.0.0)
Expand Down Expand Up @@ -213,14 +213,14 @@ GEM
os (>= 0.9, < 2.0)
signet (>= 0.16, < 2.a)
highline (2.0.3)
http-cookie (1.0.7)
http-cookie (1.0.8)
domain_name (~> 0.5)
httpclient (2.8.3)
i18n (1.14.5)
concurrent-ruby (~> 1.0)
jmespath (1.6.2)
json (2.7.6)
jwt (2.9.3)
json (2.9.1)
jwt (2.10.1)
base64
mini_magick (4.13.2)
mini_mime (1.1.5)
Expand All @@ -234,21 +234,21 @@ GEM
naturally (2.2.1)
netrc (0.11.0)
nkf (0.2.0)
optparse (0.5.0)
optparse (0.6.0)
os (1.1.4)
plist (3.7.1)
plist (3.7.2)
public_suffix (4.0.7)
rake (13.2.1)
representable (3.2.0)
declarative (< 0.1.0)
trailblazer-option (>= 0.1.1, < 0.2.0)
uber (< 0.2.0)
retriable (3.1.2)
rexml (3.3.9)
rouge (2.0.7)
rexml (3.4.0)
rouge (3.28.0)
ruby-macho (2.5.1)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
rubyzip (2.4.1)
security (0.1.5)
signet (0.19.0)
addressable (~> 2.8)
Expand Down Expand Up @@ -281,8 +281,8 @@ GEM
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (>= 3.3.6, < 4.0)
xcpretty (0.3.0)
rouge (~> 2.0.7)
xcpretty (0.4.0)
rouge (~> 3.28.0)
xcpretty-travis-formatter (1.0.1)
xcpretty (~> 0.2, >= 0.0.7)

Expand Down
10 changes: 10 additions & 0 deletions android/app/src/main/java/it/polito/students/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import com.facebook.react.ReactActivity
import com.facebook.react.ReactActivityDelegate
import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
import com.facebook.react.defaults.DefaultReactActivityDelegate
import android.os.Bundle

class MainActivity : ReactActivity() {

Expand All @@ -19,4 +20,13 @@ class MainActivity : ReactActivity() {
*/
override fun createReactActivityDelegate(): ReactActivityDelegate =
DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)


/**
* react-native-screens override
* https://github.com/software-mansion/react-native-screens?tab=readme-ov-file#android
*/
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(null);
}
}
1 change: 1 addition & 0 deletions android/app/src/main/res/values/styles.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="android:windowLayoutInDisplayCutoutMode">shortEdges</item>
<item name="android:editTextBackground">@drawable/rn_edit_text_material</item>
<item name="android:windowBackground">@color/primary</item>
<item name="android:windowSplashScreenAnimatedIcon">@android:color/transparent</item>
Expand Down
25 changes: 13 additions & 12 deletions android/fastlane/Fastfile
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,6 @@ buildProps = {
}

platform :android do
before_all do
setup_ci if ENV['CI']
end

desc "Build and sign bundle"
lane :verify do
Expand Down Expand Up @@ -54,15 +51,19 @@ platform :android do
source_map_path = 'app/build/generated/sourcemaps/react/release/index.android.bundle.map'
bundle_path = 'app/build/generated/assets/createBundleReleaseJsAndAssets/index.android.bundle'

sentry_upload_sourcemap(
auth_token: ENV['SENTRY_AUTH_TOKEN'],
org_slug: ENV['SENTRY_ORG'],
project_slug: ENV['SENTRY_PROJECT'],
version: 'it.polito.students@' + ENV['APP_VERSION'],
build: ENV['BUILD_PIECE'],
sourcemap: [bundle_path, source_map_path],
rewrite: true
)
begin
sentry_upload_sourcemap(
auth_token: ENV['SENTRY_AUTH_TOKEN'],
org_slug: ENV['SENTRY_ORG'],
project_slug: ENV['SENTRY_PROJECT'],
version: 'it.polito.students@' + ENV['APP_VERSION'],
build: ENV['BUILD_PIECE'],
sourcemap: [bundle_path, source_map_path],
rewrite: true
)
rescue => e
UI.important("Sentry sourcemap upload failed => #{e.message}")
end
end

desc "Assemble signed Android APK"
Expand Down
61 changes: 54 additions & 7 deletions assets/translations/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -222,6 +222,7 @@
"selectAnOption": "Please select an option",
"services": "Services",
"show": "Show",
"shortUsername": "ID",
"somethingWentWrong": "Something went wrong, try again later",
"startRefresh": "Loading",
"status": "Status",
Expand Down Expand Up @@ -294,15 +295,20 @@
"subtitle_plural": "{{count}} files"
},
"courseDirectoryScreen": {
"noResult": "No results found"
"clearSearch": "Clear search",
"emptyRootFolder": "There are no files",
"emptyFolder": "The folder is empty",
"noResult": "No results found",
"navigateRecentFiles": "View recent",
"search": "Search"
},
"courseFileListItem": {
"openFileError": "Cannot open the file.",
"reDownloadFile": "Redownload file"
},
"courseFilesTab": {
"browseFiles": "Browse files",
"empty": "There are no files here",
"empty": "There are no files",
"navigateFolders": "Navigate folders",
"recentSectionTitle": "Recent files",
"title": "Files"
Expand Down Expand Up @@ -416,6 +422,18 @@
"placeholder": "Explain why you need to take the exam early",
"title": "You can request the course holder to take the exam without having attended the classes"
},
"examRescheduleScreen": {
"button": "Send request",
"ctaRescheduleSuccess": "Request sent",
"ctaRequest": "Request exam call date change",
"error": "Fill in the text field before proceeding with the request.",
"requestDetails": "Enter the dates to be suggested here",
"requestDetailsTitle": "What dates would you recommend to the coordinator?",
"responsibilityDeclaration": "I hereby declare that I take responsibility for the following.",
"requestReason": "Enter your reasons for requesting a change of exam call date here",
"requestReasonTitle": "You can ask the college coordinator if you can change the date of your exam call",
"screenTitle": "Exam call date change"
},
"examScreen": {
"bookedCount": "Booked students",
"bookingEndsAt": "Booking ends on",
Expand Down Expand Up @@ -632,6 +650,15 @@
"rejectGradeFeedback": "Evaluation rejected, it will be recorded in the next few hours",
"title": "Evaluation"
},
"recordedGradeScreen": {
"additionalPoint": "Additional Scores",
"recordedGradeTitle": "Recorded grade",
"staff": "Staff",
"teacher": "Holder",
"textModal": "Having taken the exam by the first useful session, you are awarded an additional score of 0.5 out of a maximum of 4.\nYou can consult your total on-time points on career",
"titleOnTimePoint": "On-time Exam points",
"ctaButtonModal": "Access your career"
},
"sectionHeader": {
"cta": "See all",
"ctaMoreSuffix": "({{- count}} more)"
Expand Down Expand Up @@ -729,13 +756,33 @@
"attendedCreditsLabel": "Attended credits",
"averages": "Averages",
"averagesAndGrades": "Averages and grades",
"estimatedFinalGrade": "Final grade",
"estimatedFinalGradePurged": "Estimated final grade",
"finalAverageLabel": "Final average",
"masterAdmissionAverage": "Master admission average",
"averageLabel": "Average grade for admission to the Final Examination",
"finalAverageLabelDescription":{
"description": "It is the average grade, weighted according to the credits relating to each exam with a grade*, adjusted for the {{-excludedCreditsNumber}} worst credits",
"formula": "(sum (grade * credits) / sum of credits) * (110/30) ,\nexcluding the {{-excludedCreditsNumber}} worst credits"
},
"laude": "*Honours does not count toward the calculation",
"masterAdmissionAverage": "Master admission average grade",
"masterAdmissionAverageLabelDescription":{
"description":"It is the average grade, weighted according to the credits relating to each exam with grade*, adjusted for the worst n credits\n(To find out more about n, refer to the Student Guide)",
"formula":"sum (grade * credits) / sum of credits\n(excluding the n worst credits)"
},
"NB": "Note",
"NBDescription": "These definitions are indicative. To find out more, refer to the Student Guide.\nOnly graded exams are considered in all average grade above.",
"onTimeScores": "On-time Exams points",
"pointTitle": "Scores",
"pointModal": "The total of the Exam on-time points earned. This value can never exceed the maximum allowed by the degree program.\nTo find out more, refer to the Student Guide.",
"thisYear": "This academic year",
"title": "Career",
"weightedAverageLabel": "Weighted average",
"weightedAverageLabelDescription":{
"description":"This is the average, weighted according to the credits relating to each exam with a grade*",
"formula": "(sum (grade * credits) / sum of credits) * (110/30)"
},
"weightedAverage": "Weighted average of grades",
"weightedAverageDescription":{
"description":"It is the average grade, weighted according to the credits relating to each exam with a grade*, expressed in thirtieths.",
"formula": "sum (grade * credits) / sum of credits"
},
"yourCareer": "Your career"
},
"videoControls": {
Expand Down
Loading

0 comments on commit fa0a240

Please sign in to comment.