1
0
mirror of https://github.com/wulkanowy/wulkanowy.git synced 2024-09-20 01:49:09 -05:00

Replace all county/counties occurrences with symbol/symbols (#19)

This commit is contained in:
Mikołaj Pich 2017-08-31 22:24:44 +02:00 committed by RicomenPL
parent 15260b58f3
commit 935b79e8cf
15 changed files with 63 additions and 57 deletions

View File

@ -95,7 +95,7 @@ public class GradesFragment extends Fragment {
Account account = accountsDatabase.getAccount(userId);
accountsDatabase.close();
StudentAndParent snp = new StudentAndParent(cookies, account.getCounty());
StudentAndParent snp = new StudentAndParent(cookies, account.getSymbol());
SubjectsList subjectsList = new SubjectsList(snp);
SubjectsDatabase subjectsDatabase = new SubjectsDatabase(mContext);

View File

@ -93,7 +93,7 @@ public class LoginTask extends AsyncTask<String, Integer, Integer> {
.setName(firstAndLastName)
.setEmail(credentials[0])
.setPassword(safety.encrypt(credentials[0], credentials[1]))
.setCounty(credentials[2]);
.setSymbol(credentials[2]);
AccountsDatabase accountsDatabase = new AccountsDatabase(activity);

View File

@ -44,9 +44,9 @@ public class MainActivity extends AppCompatActivity {
private void autoComplete() {
// Get a reference to the AutoCompleteTextView in the layout
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.countyText);
AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.symbolText);
// Get the string array
String[] countries = getResources().getStringArray(R.array.counties);
String[] countries = getResources().getStringArray(R.array.symbols);
// Create the adapter and set it to the AutoCompleteTextView
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1,
countries);
@ -56,22 +56,22 @@ public class MainActivity extends AppCompatActivity {
public void login(View a) {
String password = ((EditText) findViewById(R.id.passwordText)).getText().toString();
String email = ((EditText) findViewById(R.id.emailText)).getText().toString();
String county = ((EditText) findViewById(R.id.countyText)).getText().toString();
String symbol = ((EditText) findViewById(R.id.symbolText)).getText().toString();
String[] keys = this.getResources().getStringArray(R.array.counties);
String[] values = this.getResources().getStringArray(R.array.counties_values);
String[] keys = this.getResources().getStringArray(R.array.symbols);
String[] values = this.getResources().getStringArray(R.array.symbols_values);
LinkedHashMap<String, String> map = new LinkedHashMap<>();
for (int i = 0; i < Math.min(keys.length, values.length); ++i) {
map.put(keys[i], values[i]);
}
if (map.containsKey(county)) {
county = map.get(county);
if (map.containsKey(symbol)) {
symbol = map.get(symbol);
}
if (!email.isEmpty() && !password.isEmpty() && !county.isEmpty()) {
new LoginTask(this, true).execute(email, password, county);
if (!email.isEmpty() && !password.isEmpty() && !symbol.isEmpty()) {
new LoginTask(this, true).execute(email, password, symbol);
} else {
Toast.makeText(this, R.string.data_text, Toast.LENGTH_SHORT).show();
}

View File

@ -88,7 +88,7 @@ public class LoadingTask extends AsyncTask<Void, Void, Void> {
new LoginTask(activity, false).execute(
account.getEmail(),
safety.decrypt(account.getEmail(), account.getPassword()),
account.getCounty()
account.getSymbol()
);
return true;

View File

@ -14,22 +14,22 @@ import io.github.wulkanowy.api.login.LoginErrorException;
public class StudentAndParent extends Vulcan {
private String startPageUrl = "https://uonetplus.vulcan.net.pl/{locationID}/Start.mvc/Index";
private String startPageUrl = "https://uonetplus.vulcan.net.pl/{symbol}/Start.mvc/Index";
private String baseUrl = "https://uonetplus-opiekun.vulcan.net.pl/{locationID}/{ID}/";
private String baseUrl = "https://uonetplus-opiekun.vulcan.net.pl/{symbol}/{ID}/";
private String gradesPageUrl = baseUrl + "Oceny/Wszystkie";
private String locationID = "";
private String symbol = "";
private String id = "";
public StudentAndParent(Cookies cookies, String locID) throws IOException, LoginErrorException {
this.cookies = cookies;
this.locationID = locID;
this.symbol = locID;
// get link to uonetplus-opiekun.vulcan.net.pl module
Document startPage = getPageByUrl(startPageUrl.replace("{locationID}", locationID));
Document startPage = getPageByUrl(startPageUrl.replace("{symbol}", symbol));
Element studentTileLink = startPage.select(".panel.linkownia.pracownik.klient > a").first();
String uonetPlusOpiekunUrl = studentTileLink.attr("href");
@ -43,19 +43,19 @@ public class StudentAndParent extends Vulcan {
this.id = getCalculatedID(uonetPlusOpiekunUrl);
this.baseUrl = baseUrl
.replace("{locationID}", getLocationID())
.replace("{ID}", getID());
.replace("{symbol}", getSymbol())
.replace("{ID}", getId());
}
public String getGradesPageUrl() {
return gradesPageUrl;
}
public String getLocationID() {
return locationID;
public String getSymbol() {
return symbol;
}
public String getID() {
public String getId() {
return id;
}

View File

@ -11,26 +11,26 @@ import io.github.wulkanowy.api.Vulcan;
public class Login extends Vulcan {
private String loginPageUrl = "https://cufs.vulcan.net.pl/{locationID}/Account/LogOn";
private String loginPageUrl = "https://cufs.vulcan.net.pl/{symbol}/Account/LogOn";
private String certificatePageUrl = "https://cufs.vulcan.net.pl/{locationID}"
+ "/FS/LS?wa=wsignin1.0&wtrealm=https://uonetplus.vulcan.net.pl/{locationID}"
+ "/LoginEndpoint.aspx&wctx=https://uonetplus.vulcan.net.pl/{locationID}"
private String certificatePageUrl = "https://cufs.vulcan.net.pl/{symbol}"
+ "/FS/LS?wa=wsignin1.0&wtrealm=https://uonetplus.vulcan.net.pl/{symbol}"
+ "/LoginEndpoint.aspx&wctx=https://uonetplus.vulcan.net.pl/{symbol}"
+ "/LoginEndpoint.aspx";
private String loginEndpointPageUrl =
"https://uonetplus.vulcan.net.pl/{locationID}/LoginEndpoint.aspx";
"https://uonetplus.vulcan.net.pl/{symbol}/LoginEndpoint.aspx";
public Login(Cookies cookies) {
this.cookies = cookies;
}
public boolean login(String email, String password, String county)
public boolean login(String email, String password, String symbol)
throws BadCredentialsException, LoginErrorException, AccountPermissionException {
try {
sendCredentials(email, password, county);
String[] certificate = getCertificateData(county);
sendCertificate(certificate[0], certificate[1], county);
sendCredentials(email, password, symbol);
String[] certificate = getCertificateData(symbol);
sendCertificate(certificate[0], certificate[1], symbol);
} catch (IOException e) {
throw new LoginErrorException();
}
@ -38,9 +38,9 @@ public class Login extends Vulcan {
return true;
}
private void sendCredentials(String email, String password, String county)
private void sendCredentials(String email, String password, String symbol)
throws IOException, BadCredentialsException {
loginPageUrl = loginPageUrl.replace("{locationID}", county);
loginPageUrl = loginPageUrl.replace("{symbol}", symbol);
Connection.Response response = Jsoup.connect(loginPageUrl)
.data("LoginName", email)
@ -56,8 +56,8 @@ public class Login extends Vulcan {
}
}
private String[] getCertificateData(String county) throws IOException {
certificatePageUrl = certificatePageUrl.replace("{locationID}", county);
private String[] getCertificateData(String symbol) throws IOException {
certificatePageUrl = certificatePageUrl.replace("{symbol}", symbol);
Document certificatePage = getPageByUrl(certificatePageUrl);
@ -67,9 +67,9 @@ public class Login extends Vulcan {
};
}
private void sendCertificate(String protocolVersion, String certificate, String county)
private void sendCertificate(String protocolVersion, String certificate, String symbol)
throws IOException, LoginErrorException, AccountPermissionException {
loginEndpointPageUrl = loginEndpointPageUrl.replace("{locationID}", county);
loginEndpointPageUrl = loginEndpointPageUrl.replace("{symbol}", symbol);
Connection.Response response = Jsoup.connect(loginEndpointPageUrl)
.data("wa", protocolVersion)

View File

@ -10,7 +10,7 @@ public class DatabaseAdapter {
private final String DATABASE_NAME = "accountdatabase.db";
private final int DATABASE_VERSION = 3;
private final int DATABASE_VERSION = 4;
public static SQLiteDatabase database;

View File

@ -15,7 +15,7 @@ public class DatabaseHelper extends SQLiteOpenHelper {
"name TEXT, " +
"email TEXT," +
"password TEXT, " +
"county TEXT );";
"symbol TEXT );";
public final String SUBJECT_TABLE = "CREATE TABLE IF NOT EXISTS subjects( " +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +

View File

@ -11,7 +11,7 @@ public class Account {
private String password;
private String county;
private String symbol;
public int getId() {
return id;
@ -49,12 +49,12 @@ public class Account {
return this;
}
public String getCounty() {
return county;
public String getSymbol() {
return symbol;
}
public Account setCounty(String county) {
this.county = county;
public Account setSymbol(String symbol) {
this.symbol = symbol;
return this;
}
}

View File

@ -15,7 +15,7 @@ public class AccountsDatabase extends DatabaseAdapter {
private String name = "name";
private String email = "email";
private String password = "password";
private String county = "county";
private String symbol = "symbol";
private String idText = "id";
private String accounts = "accounts";
@ -29,7 +29,7 @@ public class AccountsDatabase extends DatabaseAdapter {
newAccount.put(name, account.getName());
newAccount.put(email, account.getEmail());
newAccount.put(password, account.getPassword());
newAccount.put(county, account.getCounty());
newAccount.put(symbol, account.getSymbol());
if (!database.isReadOnly()) {
long newId = database.insertOrThrow(accounts, null, newAccount);
@ -45,7 +45,7 @@ public class AccountsDatabase extends DatabaseAdapter {
Account account = new Account();
String[] columns = {idText, name, email, password, county};
String[] columns = {idText, name, email, password, symbol};
String args[] = {id + ""};
try {
@ -56,7 +56,7 @@ public class AccountsDatabase extends DatabaseAdapter {
account.setName(cursor.getString(1));
account.setEmail(cursor.getString(2));
account.setPassword(cursor.getString(3));
account.setCounty(cursor.getString(4));
account.setSymbol(cursor.getString(4));
cursor.close();
}
} catch (SQLException e) {

View File

@ -43,12 +43,12 @@
tools:ignore="UnusedAttribute" />
<AutoCompleteTextView
android:id="@+id/countyText"
android:id="@+id/symbolText"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginTop="10dp"
android:hint="@string/county_hint_text"
android:hint="@string/symbol_hint_text"
android:imeOptions="actionDone"
android:inputType="text" />

View File

@ -4,7 +4,7 @@
<string name="pass_hint_text">Hasło</string>
<string name="email_hint_text">E-mail</string>
<string name="login_button_text">Zaloguj</string>
<string name="county_hint_text">Powiat</string>
<string name="symbol_hint_text">Symbol</string>
<string name="warning_text">Aplikacja ta nie jest ukończona, więc mogą występować różnego rodzaju błędy lub dane funkcje nie bedą działać. Prosimy o cierpliwość i wyrozumiałość.</string>
<string name="warning_label_text">Ostrzeżenie</string>
<string name="data_text">Brak danych logowania</string>

View File

@ -4,13 +4,13 @@
<string name="pass_hint_text">Password</string>
<string name="email_hint_text">E-mail</string>
<string name="login_button_text">Log in</string>
<string name="county_hint_text">County</string>
<string name="symbol_hint_text">Symbol</string>
<string name="warning_text">This application is not complete, so there may be a variety of errors or features that will not work. Please be patient and understanding.</string>
<string name="warning_label_text">Warning</string>
<string name="data_text">No login data</string>
<string name="login_accepted_text">Login is successful</string>
<string name="login_bad_credentials_text">Bad e-mail or password</string>
<string name="login_bad_account_permission_text">No permission to open log. Check entered county name</string>
<string name="login_bad_account_permission_text">No permission to open log. Check entered symbol</string>
<string name="login_denied_text">Login is failed</string>
<string name="please_wait_text">Please wait…</string>
<string name="activity_dashboard_text">Dashboard Activity</string>

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<string-array name="counties">
<string-array name="symbols">
<item>Andrychów</item>
<item>Augustów</item>
<item>Baranów Sandomierski</item>
@ -18,6 +18,7 @@
<item>Błonie</item>
<item>Bochnia</item>
<item>Bogatynia</item>
<item>Boguchwała</item>
<item>Bolesławiec</item>
<item>Braniewo</item>
<item>Brodnica</item>
@ -297,6 +298,7 @@
<item>Gmina Łużna</item>
<item>Gmina Łysomice</item>
<item>Gmina Maków Podhalański</item>
<item>Gmina Malbork</item>
<item>Gmina Małdyty</item>
<item>Gmina Małkinia Górna</item>
<item>Gmina Marcinowice</item>
@ -368,6 +370,7 @@
<item>Gmina Parchowo</item>
<item>Gmina Parczew</item>
<item>Gmina Pawłosiów</item>
<item>Gmina Pawłowice</item>
<item>Gmina Pelplin</item>
<item>Gmina Piaski</item>
<item>Gmina Piątnica</item>
@ -1102,7 +1105,7 @@
<item>Żyrardów</item>
<item>Żywiec</item>
</string-array>
<string-array name="counties_values">
<string-array name="symbols_values">
<item>andrychow</item>
<item>augustow</item>
<item>baranowsandomierski</item>
@ -1120,6 +1123,7 @@
<item>blonie</item>
<item>bochnia</item>
<item>bogatynia</item>
<item>boguchwala</item>
<item>boleslawiec</item>
<item>braniewo</item>
<item>brodnica</item>
@ -1399,6 +1403,7 @@
<item>gminaluzna</item>
<item>gminalysomice</item>
<item>gminamakowpodhalanski</item>
<item>gminamalbork</item>
<item>gminamaldyty</item>
<item>gminamalkiniagorna</item>
<item>gminamarcinowice</item>
@ -1470,6 +1475,7 @@
<item>gminaparchowo</item>
<item>gminaparczew</item>
<item>gminapawlosiow</item>
<item>gminapawlowice</item>
<item>gminapelplin</item>
<item>gminapiaski</item>
<item>gminapiatnica</item>

View File

@ -27,8 +27,8 @@ public class StudentAndParentTest {
Mockito.when(snp.getSnPPageDocument(Mockito.anyString())).thenReturn(gradesPageDocument);
Mockito.when(snp.getCalculatedID(Mockito.anyString())).thenCallRealMethod();
Mockito.when(snp.getLocationID()).thenReturn("symbol");
Mockito.when(snp.getID()).thenReturn("123456");
Mockito.when(snp.getSymbol()).thenReturn("symbol");
Mockito.when(snp.getId()).thenReturn("123456");
Mockito.when(snp.getSemesters()).thenCallRealMethod();
Mockito.when(snp.getGradesPageUrl()).thenReturn("http://wulkanowy.null");
Mockito.when(snp.getSemesters(Mockito.any(Document.class))).thenCallRealMethod();