diff --git a/.gitignore b/.gitignore index 598cc5c4..b91992ab 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,7 @@ /*/gen /*/target /*/build -/*/*.iml /out /.idea -/.project \ No newline at end of file +/.project +*.iml diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..51c40faf --- /dev/null +++ b/.travis.yml @@ -0,0 +1,11 @@ +sudo: required +dist: trusty +language: java +before_install: + - sudo apt-get -qq update + - sudo apt-get -y -q install tesseract-ocr tesseract-ocr-fra tesseract-ocr-jpn + - sudo apt-get -y -q install haveged && sudo service haveged start +env: + global: + - TESSDATA_PREFIX=/usr/share/tesseract-ocr + - LC_NUMERIC=C \ No newline at end of file diff --git a/README.md b/README.md index 5b8898a1..d2f9eb4f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Sismics Docs +Sismics Docs [![Build Status](https://secure.travis-ci.org/sismics/docs.png)](http://travis-ci.org/sismics/docs) ============ _Web interface_ @@ -50,7 +50,6 @@ Prerequisites: JDK 7 with JCE, Maven 3, Tesseract 3.02 Docs is organized in several Maven modules: - - docs-parent - docs-core - docs-web - docs-web-common @@ -60,7 +59,7 @@ or download the sources from GitHub. #### Launch the build -From the `docs-parent` directory: +From the root directory: mvn clean -DskipTests install diff --git a/docs-android/app/app.iml b/docs-android/app/app.iml deleted file mode 100644 index e93ef14d..00000000 --- a/docs-android/app/app.iml +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs-android/app/build.gradle b/docs-android/app/build.gradle index 1b86dd75..b99a5b46 100644 --- a/docs-android/app/build.gradle +++ b/docs-android/app/build.gradle @@ -3,7 +3,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.1.0-alpha3' + classpath 'com.android.tools.build:gradle:2.1.0-beta1' } } apply plugin: 'com.android.application' @@ -14,7 +14,7 @@ repositories { android { compileSdkVersion 23 - buildToolsVersion '23.0.2' + buildToolsVersion '23.0.3' defaultConfig { minSdkVersion 14 @@ -50,9 +50,9 @@ android { dependencies { compile fileTree(dir: 'libs', include: '*.jar') - compile 'com.android.support:appcompat-v7:23.2.1' - compile 'com.android.support:recyclerview-v7:23.2.1' - compile 'com.android.support:design:23.2.1' + compile 'com.android.support:appcompat-v7:23.3.0' + compile 'com.android.support:recyclerview-v7:23.3.0' + compile 'com.android.support:design:23.3.0' compile 'it.sephiroth.android.library.imagezoom:imagezoom:1.0.5' compile 'org.greenrobot:eventbus:3.0.0' compile 'com.squareup.picasso:picasso:2.5.2' diff --git a/docs-android/app/src/main/AndroidManifest.xml b/docs-android/app/src/main/AndroidManifest.xml index 55966780..b56057b5 100644 --- a/docs-android/app/src/main/AndroidManifest.xml +++ b/docs-android/app/src/main/AndroidManifest.xml @@ -1,6 +1,7 @@ + package="com.sismics.docs" + android:installLocation="auto"> diff --git a/docs-android/app/src/main/java/com/sismics/docs/activity/LoginActivity.java b/docs-android/app/src/main/java/com/sismics/docs/activity/LoginActivity.java index 26c030b0..84067867 100644 --- a/docs-android/app/src/main/java/com/sismics/docs/activity/LoginActivity.java +++ b/docs-android/app/src/main/java/com/sismics/docs/activity/LoginActivity.java @@ -48,6 +48,7 @@ public class LoginActivity extends AppCompatActivity { final EditText txtServer = (EditText) findViewById(R.id.txtServer); final EditText txtUsername = (EditText) findViewById(R.id.txtUsername); final EditText txtPassword = (EditText) findViewById(R.id.txtPassword); + final EditText txtValidationCode = (EditText) findViewById(R.id.txtValidationCode); final Button btnConnect = (Button) findViewById(R.id.btnConnect); loginForm = findViewById(R.id.loginForm); progressBar = findViewById(R.id.progressBar); @@ -87,7 +88,9 @@ public class LoginActivity extends AppCompatActivity { PreferenceUtil.setServerUrl(LoginActivity.this, txtServer.getText().toString()); try { - UserResource.login(getApplicationContext(), txtUsername.getText().toString(), txtPassword.getText().toString(), new HttpCallback() { + UserResource.login(getApplicationContext(), txtUsername.getText().toString(), + txtPassword.getText().toString(), txtValidationCode.getText().toString(), + new HttpCallback() { @Override public void onSuccess(JSONObject json) { // Empty previous user caches @@ -111,6 +114,10 @@ public class LoginActivity extends AppCompatActivity { if (json != null && json.optString("type").equals("ForbiddenError")) { DialogUtil.showOkDialog(LoginActivity.this, R.string.login_fail_title, R.string.login_fail); + } else if (json != null && json.optString("type").equals("ValidationCodeRequired")) { + txtValidationCode.setVisibility(View.VISIBLE); + validator.addValidable(txtValidationCode, new Required()); + validator.validate(); } else { DialogUtil.showOkDialog(LoginActivity.this, R.string.network_error_title, R.string.network_error); } diff --git a/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java b/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java index b77061d6..83c03f35 100644 --- a/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java +++ b/docs-android/app/src/main/java/com/sismics/docs/adapter/AuditLogListAdapter.java @@ -3,6 +3,7 @@ package com.sismics.docs.adapter; import android.content.Context; import android.content.Intent; import android.text.TextUtils; +import android.text.format.DateFormat; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -15,6 +16,7 @@ import org.json.JSONArray; import org.json.JSONObject; import java.util.ArrayList; +import java.util.Date; import java.util.List; /** @@ -85,8 +87,11 @@ public class AuditLogListAdapter extends BaseAdapter { // Fill the view TextView usernameTextView = (TextView) view.findViewById(R.id.usernameTextView); TextView messageTextView = (TextView) view.findViewById(R.id.messageTextView); + TextView dateTextView = (TextView) view.findViewById(R.id.dateTextView); usernameTextView.setText(log.optString("username")); messageTextView.setText(message); + String date = DateFormat.getDateFormat(parent.getContext()).format(new Date(log.optLong("create_date"))); + dateTextView.setText(date); return view; } diff --git a/docs-android/app/src/main/java/com/sismics/docs/resource/UserResource.java b/docs-android/app/src/main/java/com/sismics/docs/resource/UserResource.java index 79b245a1..6bc91cd4 100644 --- a/docs-android/app/src/main/java/com/sismics/docs/resource/UserResource.java +++ b/docs-android/app/src/main/java/com/sismics/docs/resource/UserResource.java @@ -24,12 +24,13 @@ public class UserResource extends BaseResource { * @param password Password * @param callback Callback */ - public static void login(Context context, String username, String password, HttpCallback callback) { + public static void login(Context context, String username, String password, String code, HttpCallback callback) { Request request = new Request.Builder() .url(HttpUrl.parse(getApiUrl(context) + "/user/login")) .post(new FormBody.Builder() .add("username", username) .add("password", password) + .add("code", code) .add("remember", "true") .build()) .build(); diff --git a/docs-android/app/src/main/res/layout/login_activity.xml b/docs-android/app/src/main/res/layout/login_activity.xml index eae776b3..546d5afc 100644 --- a/docs-android/app/src/main/res/layout/login_activity.xml +++ b/docs-android/app/src/main/res/layout/login_activity.xml @@ -61,6 +61,17 @@ android:inputType="textPassword"> + + + - Sismics Docs + {{ appName }} -
-

{{ tags.length }} tag{{ tags.length > 1 ? 's' : '' }}

-
-
{{ stat.name }} {{ stat.count }}
-
-
-
- -
- +
+
\ No newline at end of file diff --git a/docs-web/src/main/webapp/src/partial/docs/usergroup.default.html b/docs-web/src/main/webapp/src/partial/docs/usergroup.default.html new file mode 100644 index 00000000..5899b461 --- /dev/null +++ b/docs-web/src/main/webapp/src/partial/docs/usergroup.default.html @@ -0,0 +1,2 @@ +

Users & Groups

+

Here you can view informations about users and groups.

\ No newline at end of file diff --git a/docs-web/src/main/webapp/src/share.html b/docs-web/src/main/webapp/src/share.html index f5508e31..ab67af4a 100644 --- a/docs-web/src/main/webapp/src/share.html +++ b/docs-web/src/main/webapp/src/share.html @@ -1,7 +1,7 @@ - Sismics Docs + {{ appName }} @@ -9,6 +9,7 @@ +