Skip to content
Snippets Groups Projects
Commit 8be307a6 authored by Matyáš Latner's avatar Matyáš Latner
Browse files

Merge branch 'feature-createuser' into 'devel'

Feature createuser



See merge request !143
parents 67310266 f787b0de
No related branches found
No related tags found
No related merge requests found
Showing
with 127 additions and 16 deletions
......@@ -2,7 +2,12 @@ createuser_form_age=Věk
createuser_form_gender=Pohlaví
createuser_form_sign=Podepsat
createuser_form_cancel=Zrušit
validation_username=Krycí jméno
createuser_form_username=Krycí jméno
createuser_form_signature=Zde se podepiš prstem\!
validation_username=Zvol si krycí jméno
validation_gender=Kluk/holka
validation_mugshot=Vyber si fotografii
validation_signature=Podepiš se perem
\ No newline at end of file
validation_signature=Podepiš se perem
validation_age=Zadej svůj věk
validation_stamp=Orazítkuj dokument
validation_username_exists=Krycí jméno detektiva již existuje\! Zadejte jiné krycí jméno.
\ No newline at end of file
......@@ -2,7 +2,12 @@ createuser_form_age=Alter
createuser_form_gender=Geschlecht
createuser_form_sign=Zeichen
createuser_form_cancel=Stornieren
createuser_form_username=Deckname
createuser_form_signature=Unterschreibe hier mit dem Finger\!
validation_username=Wähle deinen Decknamen
validation_gender=Junge/Mädchen
validation_mugshot=Wähle ein Foto
validation_signature=Beschreibe dich
\ No newline at end of file
validation_signature=Unterschreibe dies mit dem Stift
validation_age=Gib dein Alter ein
validation_stamp=Dokument abstempeln
validation_username_exists=*Krycí jméno detektiva již existuje_DE*
\ No newline at end of file
......@@ -2,7 +2,12 @@ createuser_form_age=Vek
createuser_form_gender=Pohlavie
createuser_form_sign=Podpísať
createuser_form_cancel=Zrušiť
createuser_form_username=Krycie meno
createuser_form_signature=Tu sa podpíš prstom\!
validation_username=Zvoľ si krycie meno
validation_gender=Chlapec/dievča
validation_mugshot=Vyber si fotografiu
validation_signature=Podpíš sa pomocou pera
\ No newline at end of file
validation_signature=Podpíš sa pomocou pera
validation_age=Zadaj svoj ​​vek
validation_stamp=Opečiatkuj dokument
validation_username_exists=Krycie meno detektíva už existuje\! Zadajte iné krycie meno.
\ No newline at end of file
......@@ -61,7 +61,6 @@ allprojects {
sqlDroidVersion = '1.0.3'
sqlLiteJdbcVersion = '3.8.10.1'
guavaVersion = '18.0'
jacksonVersion = '2.6.1'
androidSupportV4Version = '22.0.0'
googlePlayServicesVersion = '8.3.+'
}
......@@ -362,9 +361,6 @@ project(":core") {
compile "net.engio:mbassador:$mbassadorVersion"
compile "com.badlogicgames.gdx:gdx-freetype:$gdxVersion"
compile "com.google.guava:guava:$guavaVersion"
compile "com.fasterxml.jackson.core:jackson-core:$jacksonVersion"
compile "com.fasterxml.jackson.core:jackson-annotations:$jacksonVersion"
compile "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
testCompile "junit:junit:4.11"
......
core/assets/common/screen/encyclopedia/gfx/closebutton_pressed.png

4.23 KiB

core/assets/common/screen/encyclopedia/gfx/closebutton_unpressed.png

4.85 KiB

core/assets/common/screen/form/gfx/border.png

546 B

core/assets/common/screen/form/gfx/clear.png

358 B

core/assets/common/screen/form/gfx/helpbubble_left.9.png

4.28 KiB

core/assets/common/screen/form/gfx/helpbubble_straight.9.png

5.07 KiB

File added
File added
core/assets/common/screen/statistics/gfx/closebutton_pressed.png

4.23 KiB

core/assets/common/screen/statistics/gfx/closebutton_unpressed.png

4.85 KiB

......@@ -51,6 +51,7 @@ public class TablexiaStorage {
Connection connection = DriverManager.getConnection(connectionType.getConnectionString() + DATABASE_DIRECTORY.file().getAbsolutePath() + "/" + DATABASE_NAME);
instance = new TablexiaStorage(connection);
instance.initTables();
instance.MigrateData();
instance.reset(reset);
} catch (ClassNotFoundException e) {
Log.err(TablexiaStorage.class, "Cannot find class for database driver!", e);
......@@ -132,6 +133,10 @@ public class TablexiaStorage {
}
}
private void MigrateData() {
User.migrateUserSignaturesData();
}
private void reset(boolean reset) {
if (reset) {
resetScreenState();
......
package cz.nic.tablexia.debug;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.graphics.g2d.Batch;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.scenes.scene2d.Actor;
import com.badlogic.gdx.scenes.scene2d.Stage;
/**
* Created by frantisek on 10.12.15.
*/
public class DebugActor extends Actor {
private ShapeRenderer renderer;
public DebugActor() {
this.renderer = new ShapeRenderer();
}
@Override
protected void setStage(Stage stage)
{
super.setStage(stage);
if (stage != null) {
renderer.setProjectionMatrix(getStage().getCamera().combined);
}
}
public void draw(Batch batch, float parentAlpha) {
batch.end();
renderer.setAutoShapeType(true);
renderer.begin();
renderer.set(ShapeRenderer.ShapeType.Line);
renderer.setColor(Color.RED);
renderer.rect(getX(), getY(), getWidth(), getHeight());
renderer.end();
batch.begin();
}
}
......@@ -6,7 +6,9 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cz.nic.tablexia.TablexiaSettings;
import cz.nic.tablexia.TablexiaStorage;
......@@ -175,12 +177,13 @@ public class User implements IMenuItem {
//////////////////////////// DB ACCESS
public static final String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL, gender INTEGER NOT NULL, avatar TEXT NOT NULL, signature TEXT NOT NULL, deleted INTEGER NOT NULL DEFAULT 0, help INTEGER NOT NULL DEFAULT 1, intro INTEGER NOT NULL DEFAULT 1)";
public static final String UPDATE_USER = "UPDATE user SET help = ?, intro = ?, deleted = ? WHERE id = ?";
public static final String INSERT_USER = "INSERT INTO user (name, age, gender, avatar, signature) VALUES (?, ?, ?, ?, ?)";
public static final String SELECT_USER_FOR_ID = "SELECT id, name, age, gender, avatar, signature, deleted, help, intro FROM user WHERE id = ?";
public static final String SELECT_LAST_USER = "SELECT id, name, age, gender, avatar, signature, deleted, help, intro FROM user WHERE id IN (SELECT max(id) FROM user)";
public static final String SELECT_ACTIVE_USERS = "SELECT id, name, age, gender, avatar, signature, deleted, help, intro FROM user WHERE deleted = 0";
public static final String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER NOT NULL, gender INTEGER NOT NULL, avatar TEXT NOT NULL, signature TEXT NOT NULL, deleted INTEGER NOT NULL DEFAULT 0, help INTEGER NOT NULL DEFAULT 1, intro INTEGER NOT NULL DEFAULT 1)";
public static final String UPDATE_USER = "UPDATE user SET help = ?, intro = ?, deleted = ? WHERE id = ?";
public static final String INSERT_USER = "INSERT INTO user (name, age, gender, avatar, signature) VALUES (?, ?, ?, ?, ?)";
public static final String SELECT_USER_FOR_ID = "SELECT id, name, age, gender, avatar, signature, deleted, help, intro FROM user WHERE id = ?";
public static final String SELECT_LAST_USER = "SELECT id, name, age, gender, avatar, signature, deleted, help, intro FROM user WHERE id IN (SELECT max(id) FROM user)";
public static final String SELECT_ACTIVE_USERS = "SELECT id, name, age, gender, avatar, signature, deleted, help, intro FROM user WHERE deleted = 0";
public static final String SELECT_USER_ALREADY_EXISTS = "SELECT 1 FROM user WHERE name = ?";
public static List<User> selectActiveUsers() {
ArrayList<User> users = new ArrayList<User>();
......@@ -313,6 +316,56 @@ public class User implements IMenuItem {
return Game.getNumberOfCompleteGamesForGameDefinitionAndDifficulty(gameDefinition, GameDifficulty.TUTORIAL, this) < 1;
}
public static boolean userNameExists(String name) {
boolean exists = false;
try {
PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(SELECT_USER_ALREADY_EXISTS);
statement.setString(1, name);
ResultSet resultSet = statement.executeQuery();
if (resultSet.next()) {
exists = (resultSet.getInt(1) == 1);
}
} catch (SQLException e) {
Log.err(User.class, "Cannot check if user with username exists", e);
}
return exists;
}
public static void migrateUserSignaturesData() {
String replaceSql = "update user set signature = ? where id = ?";
String conditionSql = "select id, signature from user where signature like '%\"size\"%'";
PreparedStatement statement = TablexiaStorage.getInstance().prepareStatement(conditionSql);
PreparedStatement replaceStatement = TablexiaStorage.getInstance().prepareStatement(replaceSql);
HashMap<Integer, String> changes = new HashMap<Integer, String>();
try {
ResultSet resultSet = statement.executeQuery();
while (resultSet.next()) {
int id = resultSet.getInt(1);
String signature = resultSet.getString(2);
// replace old JSON structure with new one
signature = signature.replaceAll("\\{\"items\":", "");
signature = signature.replaceAll("\"x\"", "class:cz.nic.tablexia.util.Point,x");
signature = signature.replaceAll("\"y\"", "y");
signature = signature.replaceAll(",\"ordered\":true,\"size\":[0-9]+\\}|,\"size\":[0-9]+,\"ordered\":true\\}", "");
changes.put(id, signature);
}
statement.close();
for (Map.Entry<Integer, String> entry : changes.entrySet()) {
replaceStatement.setString(1, entry.getValue());
replaceStatement.setInt(2, entry.getKey());
replaceStatement.executeUpdate();
}
replaceStatement.close();
} catch (SQLException e) {
Log.err(User.class, "Cannot migrate user signature data", e);
}
}
//////////////////////////// EVENT
......
......@@ -46,7 +46,8 @@ public class AboutScreen extends AbstractTablexiaScreen<Void> {
private static final int BIG_FONT_PAD = 10;
private static final String SCREEN_STATE_SCROLL_POSITION_Y = "scrollPositionY";
private static final String CLOSEBUTTON_PRESSED = "button/closebutton_pressed";
private static final String CLOSEBUTTON_UNPRESSED = "button/closebutton_unpressed";
private final LabelStyle LABEL_STYLE_18 = new LabelStyle(getFont(ApplicationFontManager.FontType.ROBOTO_REGULAR_18), DEFAULT_FONT_COLOR);
private final LabelStyle BOLD_LABEL_STYLE_18 = new LabelStyle(getFont(ApplicationFontManager.FontType.ROBOTO_BOLD_18), DEFAULT_FONT_COLOR);
......@@ -107,7 +108,7 @@ public class AboutScreen extends AbstractTablexiaScreen<Void> {
prepareContent();
closeButton = new Button(new TextureRegionDrawable(getScreenTextureRegion(AboutAssets.CLOSEBUTTON_UNPRESSED)), new TextureRegionDrawable(getScreenTextureRegion(AboutAssets.CLOSEBUTTON_PRESSED)));
closeButton = new Button(new TextureRegionDrawable(getApplicationTextureRegion(CLOSEBUTTON_UNPRESSED)), new TextureRegionDrawable(getApplicationTextureRegion(CLOSEBUTTON_PRESSED)));
closeButton.addListener(new ClickListenerWithSound() {
@Override
public void onClick(InputEvent event, float x, float y) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment