Skip to content
This repository was archived by the owner on Jul 15, 2023. It is now read-only.

Commit c99840b

Browse files
author
MishkaV
committed
Merge branch 'develop' into prod
2 parents 66eab22 + d980889 commit c99840b

File tree

409 files changed

+13523
-1096
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

409 files changed

+13523
-1096
lines changed

.detekt/detekt-config.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -163,11 +163,11 @@ complexity:
163163
TooManyFunctions:
164164
active: true
165165
excludes: ['**/test/**', '**/androidTest/**', '**/commonTest/**', '**/jvmTest/**', '**/jsTest/**', '**/iosTest/**']
166-
thresholdInFiles: 11
167-
thresholdInClasses: 11
168-
thresholdInInterfaces: 11
169-
thresholdInObjects: 11
170-
thresholdInEnums: 11
166+
thresholdInFiles: 15
167+
thresholdInClasses: 15
168+
thresholdInInterfaces: 15
169+
thresholdInObjects: 15
170+
thresholdInEnums: 15
171171
ignoreDeprecated: false
172172
ignorePrivate: false
173173
ignoreOverridden: false
@@ -534,7 +534,6 @@ style:
534534
values:
535535
- 'FIXME:'
536536
- 'STOPSHIP:'
537-
- 'TODO:'
538537
allowedPatterns: ''
539538
customMessage: ''
540539
ForbiddenImport:
@@ -644,7 +643,7 @@ style:
644643
active: false
645644
ReturnCount:
646645
active: true
647-
max: 2
646+
max: 3
648647
excludedFunctions:
649648
- 'equals'
650649
excludeLabeled: false

README.md

Lines changed: 28 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# OdooApp
22

3-
<a href=''><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' width=300/></a>
3+
<a href=''><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png' width=200 align="middle"/></a>
4+
<a href='https://apps.rustore.ru/app/odoo.miem.android'><img alt='Get it on Rustore' src='documentation/stores/Rustore_logo.webp' width=200 align="middle"/></a>
5+
46

57
## Description
68
> This is **unofficial** [Odoo](https://www.odoo.com/) mobile client for Android with [HSE](https://www.hse.ru/en/) support. Enjoy!
@@ -9,13 +11,32 @@
911
- Authorization
1012
- General
1113
- HSE
12-
- Selecting modules, pick your favorite
13-
- Recruitment module `coming soon!`
14-
- CRM module `coming soon!`
15-
- Profile `coming soon!`
14+
- Selecting modules
15+
- Pick your favorite
16+
- Looking for the right module
17+
- Recruitment module
18+
- View available job
19+
- Open or close a job post, also get link of job
20+
- Start hiring or finish
21+
- Kanban of applications for vacancies
22+
- Search for kanban applications and view detailed information
23+
- CRM module
24+
- Viewing the CRM kanban
25+
- Creating CRM kanban statuses
26+
- Viewing detailed information
27+
- Viewing of Log notes and Schedule activities
28+
- Profile
29+
- Viewing of general info about user
30+
- Log out from current session
1631

1732
## Example of screens
18-
<img src="documentation/screenshots/Authorization_light.webp" width=300/> <img src="documentation/screenshots/Authorization_dark.webp" width=300/>
33+
<img src="documentation/screenshots/Auth.webp" width=300/> <img src="documentation/screenshots/Selecting_modules.webp" width=300/>
34+
35+
<img src="documentation/screenshots/Selecting_modules_search.webp" width=300/> <img src="documentation/screenshots/Log_notes.webp" width=300/>
36+
37+
<img src="documentation/screenshots/Jobs.webp" width=300/> <img src="documentation/screenshots/Jobs_status.webp" width=300/>
38+
39+
<img src="documentation/screenshots/Kaban_full.webp" width=300/> <img src="documentation/screenshots/Kanban_empty.webp" width=300/>
1940

2041
## Stack
2142
- Kotlin
@@ -27,5 +48,4 @@
2748
## Are you a developer?
2849
Check [README](documentation/README.md) for developers
2950

30-
## Download
31-
Stable release coming soon, keep in touch \(^▽^)/
51+
Keep in touch \(^▽^)/

build.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ plugins {
44
id("org.jetbrains.kotlin.android") apply false
55
id("org.jetbrains.kotlin.jvm") apply false
66
id("io.gitlab.arturbosch.detekt") version Dependencies.Plugins.DETEKT_VERSION
7+
`kotlin-parcelize` apply false
78
}
89

910
buildscript {

buildSrc/src/main/kotlin/consts/CompileVersions.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,5 +12,5 @@ object CompileVersions {
1212
const val KOTLIN_LANGUAGE_VERSION = "1.7"
1313

1414
const val CURRENT_COMPILE_VERSION = 33
15-
const val MINIMUM_COMPILE_VERSION = 21
15+
const val MINIMUM_COMPILE_VERSION = 24
1616
}

buildSrc/src/main/kotlin/consts/Dependencies.kt

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,18 @@ object Dependencies {
129129
val ALL_SHARED_ELEMENTS_DEPS = listOf(SHARED_ELEMENTS)
130130
}
131131

132+
object SwipableCard {
133+
private const val VERSION = "1.1.1"
134+
135+
const val SWIPABLE_CARD = "me.saket.swipe:swipe:$VERSION"
136+
}
137+
138+
object HtmlText {
139+
private const val VERSION = "1.3.1"
140+
141+
const val HTML_TEXT = "de.charlex.compose:html-text:$VERSION"
142+
}
143+
132144
object UiTest {
133145

134146
// add to build.gradle with androidTestImplementation()
@@ -216,16 +228,23 @@ object Dependencies {
216228
"com.google.firebase:firebase-crashlytics-gradle:$CRASHLYTICS_GRADLE_VERSION"
217229

218230
const val FIREBASE_BOM = "com.google.firebase:firebase-bom:$BOM_VERSION"
231+
219232
const val FIREBASE_ANALYTICS = "com.google.firebase:firebase-analytics-ktx"
220233
const val FIREBASE_CRASHLYTICS = "com.google.firebase:firebase-crashlytics-ktx"
234+
221235
const val FIREBASE_CONFIG = "com.google.firebase:firebase-config-ktx"
222236

237+
const val FIREBASE_FIRESTORE = "com.google.firebase:firebase-firestore-ktx"
238+
const val FIREBASE_STORAGE = "com.google.firebase:firebase-storage-ktx"
239+
223240
val GRADLE_PLUGINS =
224241
listOf(GOOGLE_SERVICES_GRADLE_PLUGIN, FIREBASE_CRASHLYTICS_GRADLE_PLUGIN)
225242

226243
val APPLICATION_DEPS = listOf(FIREBASE_ANALYTICS, FIREBASE_CRASHLYTICS)
227244

228245
val MODULE_DEPS = listOf(FIREBASE_ANALYTICS, FIREBASE_CONFIG)
246+
247+
val DATABASE_DEPS = listOf(FIREBASE_FIRESTORE, FIREBASE_STORAGE)
229248
}
230249

231250
object Plugins {

buildSrc/src/main/kotlin/conventions/base/conventions.base-app.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ android {
1919
applicationId = "odoo.miem.android"
2020
minSdk = CompileVersions.MINIMUM_COMPILE_VERSION
2121
targetSdk = CompileVersions.CURRENT_COMPILE_VERSION
22-
versionCode = 1
22+
versionCode = 4
2323
versionName = "1.0"
2424
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
2525
}

buildSrc/src/main/kotlin/conventions/module_advanced/api/conventions.module-core-network-api.gradle.kts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,6 @@ plugins {
1212
dependencies {
1313
implementation(Dependencies.Network.MOSHI_KOTLIN)
1414
implementation(Dependencies.RxJava.RXJAVA_DEPENDENCE)
15+
16+
api(project(":core:converter:api"))
1517
}

common/network/authorization/impl/src/main/kotlin/odoo/miem/android/common/network/authorization/impl/AuthorizationInteractor.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ class AuthorizationInteractor @Inject constructor() : IAuthorizationInteractor {
3030
): ResultSingle<Unit> {
3131
Timber.d("generalAuthorization(): baseUrl = $baseUrl, login = $login, password = $password")
3232

33-
dataStore.setUrl(proceedUrl(baseUrl))
33+
dataStore.setUrl(urlProcessing(baseUrl))
3434

3535
return authorizationRepository.generalAuthorization(
3636
login = login,
@@ -49,12 +49,12 @@ class AuthorizationInteractor @Inject constructor() : IAuthorizationInteractor {
4949
}
5050
.onErrorReturn {
5151
Timber.e("generalAuthorization(): error message = ${it.message}")
52-
ErrorResult(R.string.general_authorization_error)
52+
ErrorResult(
53+
isSessionExpired = ErrorResult.isSessionExpiredMessage(it.message)
54+
)
5355
}
5456
}
5557

56-
private fun proceedUrl(inputUrl: String): String = "${urlProcessing(inputUrl)}web/"
57-
5858
private companion object {
5959
const val COOKIE_SPLIT_SIGN = ";"
6060
const val FIELD_SESSION_ID = "session_id"

common/network/authorization/impl/src/main/res/values-ru/strings.xml

Lines changed: 0 additions & 4 deletions
This file was deleted.

common/network/authorization/impl/src/main/res/values/strings.xml

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)