Merge branch 'master' into YSY_t2p_updated
This commit is contained in:
@@ -31,8 +31,8 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name=".LoginActivity"
|
android:name=".LoginActivity"
|
||||||
android:label="@string/title_activity_login"
|
android:label="@string/title_activity_login"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:screenOrientation="portrait"
|
||||||
android:screenOrientation="portrait"/>
|
android:theme="@style/AppTheme.NoActionBar" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".MainActivity"
|
android:name=".MainActivity"
|
||||||
android:label="@string/main_menu_activity_name"
|
android:label="@string/main_menu_activity_name"
|
||||||
@@ -44,8 +44,8 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name=".SelectLanguageActivity"
|
android:name=".SelectLanguageActivity"
|
||||||
android:label="@string/title_activity_select_language"
|
android:label="@string/title_activity_select_language"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:screenOrientation="portrait"
|
||||||
android:screenOrientation="portrait"/>
|
android:theme="@style/AppTheme.NoActionBar" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".download.DownloadActivity"
|
android:name=".download.DownloadActivity"
|
||||||
android:screenOrientation="portrait" />
|
android:screenOrientation="portrait" />
|
||||||
@@ -90,16 +90,15 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name=".gsk_dailyentry.CategoryListActivity"
|
android:name=".gsk_dailyentry.CategoryListActivity"
|
||||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||||
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:theme="@style/AppTheme.NoActionBar"
|
||||||
android:windowSoftInputMode="adjustPan"
|
android:windowSoftInputMode="adjustPan" />
|
||||||
android:screenOrientation="portrait"/>
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".gsk_dailyentry.CategoryWisePerformanceActivity"
|
android:name=".gsk_dailyentry.CategoryWisePerformanceActivity"
|
||||||
android:configChanges="screenSize|orientation|keyboardHidden"
|
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||||
android:screenOrientation="portrait"
|
android:screenOrientation="portrait"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:theme="@style/AppTheme.NoActionBar"
|
||||||
android:windowSoftInputMode="adjustPan"
|
android:windowSoftInputMode="adjustPan" />
|
||||||
/>
|
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name=".gsk_dailyentry.DailyDataMenuActivity"
|
android:name=".gsk_dailyentry.DailyDataMenuActivity"
|
||||||
@@ -154,18 +153,23 @@
|
|||||||
<activity
|
<activity
|
||||||
android:name=".dailyentry.SettingsActivity"
|
android:name=".dailyentry.SettingsActivity"
|
||||||
android:label="@string/title_activity_settings"
|
android:label="@string/title_activity_settings"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:screenOrientation="portrait"
|
||||||
android:screenOrientation="portrait"/>
|
android:theme="@style/AppTheme.NoActionBar" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".dailyentry.CheckoutActivity"
|
android:name=".dailyentry.CheckoutActivity"
|
||||||
android:label="@string/title_activity_checkout"
|
android:label="@string/title_activity_checkout"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:screenOrientation="portrait"
|
||||||
android:screenOrientation="portrait"/>
|
android:theme="@style/AppTheme.NoActionBar" />
|
||||||
<activity
|
<activity
|
||||||
android:name=".dailyentry.ServiceActivity"
|
android:name=".dailyentry.ServiceActivity"
|
||||||
android:label="@string/title_activity_service"
|
android:label="@string/title_activity_service"
|
||||||
android:theme="@style/AppTheme.NoActionBar"
|
android:screenOrientation="portrait"
|
||||||
android:screenOrientation="portrait"></activity>
|
android:theme="@style/AppTheme.NoActionBar" />
|
||||||
|
<activity
|
||||||
|
android:name=".upload.PreviousDataUploadActivity"
|
||||||
|
android:configChanges="screenSize|orientation|keyboardHidden"
|
||||||
|
android:label="@string/title_activity_upload"
|
||||||
|
android:screenOrientation="portrait" />
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
||||||
@@ -139,11 +139,10 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
|
|||||||
public void deleteTableWithStoreID(String storeid) {
|
public void deleteTableWithStoreID(String storeid) {
|
||||||
|
|
||||||
db.delete(CommonString.TABLE_COVERAGE_DATA, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
db.delete(CommonString.TABLE_COVERAGE_DATA, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
||||||
db.delete(CommonString.CREATE_TABLE_STOCK_DIALOG_MAIN, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
db.delete(CommonString.TABLE_INSERT_STOCK_DIALOG_MAIN, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
||||||
|
db.delete(CommonString.TABLE_INSERT_STOCK_ADDITIONAL_MAIN, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
||||||
db.delete(CommonString.CREATE_TABLE_INSERT_STOCK_ADDITIONAL_VISIBILITY_MAIN, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
db.delete(CommonString.TABLE_INSERT_STOCK_DIALOG, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
||||||
db.delete(CommonString.CREATE_TABLE_STOCK_DIALOG, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
db.delete(CommonString.TABLE_INSERT_STOCK_ADDITIONAL_DATA, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
||||||
db.delete(CommonString.CREATE_TABLE_STOCK_ADDITIONAL_STOCK_DATA, CommonString.KEY_STORE_ID + "='" + storeid + "'", null);
|
|
||||||
|
|
||||||
//Gagan start code
|
//Gagan start code
|
||||||
db.delete(CommonString.TABLE_INSERT_MSL_AVAILABILITY, "Store_Id='" + storeid + "'", null);
|
db.delete(CommonString.TABLE_INSERT_MSL_AVAILABILITY, "Store_Id='" + storeid + "'", null);
|
||||||
@@ -160,10 +159,10 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
|
|||||||
|
|
||||||
db.delete(CommonString.TABLE_COVERAGE_DATA, null, null);
|
db.delete(CommonString.TABLE_COVERAGE_DATA, null, null);
|
||||||
|
|
||||||
db.delete(CommonString.CREATE_TABLE_STOCK_DIALOG_MAIN, null, null);
|
db.delete(CommonString.TABLE_INSERT_STOCK_DIALOG_MAIN, null, null);
|
||||||
db.delete(CommonString.CREATE_TABLE_INSERT_STOCK_ADDITIONAL_VISIBILITY_MAIN, null, null);
|
db.delete(CommonString.TABLE_INSERT_STOCK_ADDITIONAL_MAIN, null, null);
|
||||||
db.delete(CommonString.CREATE_TABLE_STOCK_DIALOG, null, null);
|
db.delete(CommonString.TABLE_INSERT_STOCK_DIALOG, null, null);
|
||||||
db.delete(CommonString.CREATE_TABLE_STOCK_ADDITIONAL_STOCK_DATA, null, null);
|
db.delete(CommonString.TABLE_INSERT_STOCK_ADDITIONAL_DATA, null, null);
|
||||||
|
|
||||||
//Gagan start code
|
//Gagan start code
|
||||||
db.delete(CommonString.TABLE_INSERT_MSL_AVAILABILITY, null, null);
|
db.delete(CommonString.TABLE_INSERT_MSL_AVAILABILITY, null, null);
|
||||||
@@ -3164,5 +3163,76 @@ public class GSKOrangeDB extends SQLiteOpenHelper {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ArrayList<CoverageBean> getPreviousCoverageData(String visitdate) {
|
||||||
|
ArrayList<CoverageBean> list = new ArrayList<CoverageBean>();
|
||||||
|
Cursor dbcursor = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
dbcursor = db.rawQuery("SELECT * from " + CommonString.TABLE_COVERAGE_DATA + " where "
|
||||||
|
+ CommonString.KEY_VISIT_DATE + "<>'" + visitdate + "'", null);
|
||||||
|
|
||||||
|
if (dbcursor != null) {
|
||||||
|
dbcursor.moveToFirst();
|
||||||
|
|
||||||
|
while (!dbcursor.isAfterLast()) {
|
||||||
|
CoverageBean sb = new CoverageBean();
|
||||||
|
|
||||||
|
sb.setStoreId(dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_STORE_ID)));
|
||||||
|
sb.setUserId((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_USER_ID))));
|
||||||
|
sb.setInTime(((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_IN_TIME)))));
|
||||||
|
sb.setOutTime(((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_OUT_TIME)))));
|
||||||
|
sb.setVisitDate((((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_VISIT_DATE))))));
|
||||||
|
sb.setLatitude(((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_LATITUDE)))));
|
||||||
|
sb.setLongitude(((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_LONGITUDE)))));
|
||||||
|
sb.setStatus((((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_COVERAGE_STATUS))))));
|
||||||
|
sb.setImage((((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_IMAGE))))));
|
||||||
|
sb.setReason((((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_REASON))))));
|
||||||
|
sb.setReasonid((((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_REASON_ID))))));
|
||||||
|
sb.setMID(Integer.parseInt(((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_ID))))));
|
||||||
|
|
||||||
|
if (dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_COVERAGE_REMARK)) == null) {
|
||||||
|
sb.setRemark("");
|
||||||
|
} else {
|
||||||
|
sb.setRemark((((dbcursor.getString(dbcursor.getColumnIndexOrThrow(CommonString.KEY_COVERAGE_REMARK))))));
|
||||||
|
}
|
||||||
|
|
||||||
|
list.add(sb);
|
||||||
|
dbcursor.moveToNext();
|
||||||
|
}
|
||||||
|
dbcursor.close();
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.d("Exception ", " PreviousCoverageData Upload " + e.toString());
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
|
//check if table is empty
|
||||||
|
public boolean isCoverageDataFilled(String visit_date) {
|
||||||
|
boolean filled = false;
|
||||||
|
Cursor dbcursor = null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
dbcursor = db.rawQuery("SELECT * FROM COVERAGE_DATA "
|
||||||
|
+ "where " + CommonString.KEY_VISIT_DATE + "<>'" + visit_date + "'", null);
|
||||||
|
|
||||||
|
if (dbcursor != null) {
|
||||||
|
dbcursor.moveToFirst();
|
||||||
|
int icount = dbcursor.getInt(0);
|
||||||
|
dbcursor.close();
|
||||||
|
if (icount > 0) {
|
||||||
|
filled = true;
|
||||||
|
} else {
|
||||||
|
filled = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
Log.d("Exception ", " when fetching Records!!!!!!!!!!!!!!!!!!!!! " + e.toString());
|
||||||
|
return filled;
|
||||||
|
}
|
||||||
|
return filled;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -171,7 +171,6 @@ public class LoginActivity extends AppCompatActivity {
|
|||||||
mProgressView = findViewById(R.id.login_progress);
|
mProgressView = findViewById(R.id.login_progress);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// Create a Folder for Images
|
// Create a Folder for Images
|
||||||
|
|
||||||
|
|
||||||
@@ -524,6 +523,7 @@ public class LoginActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
editor.putString(CommonString.KEY_PATH, lgs.getAPP_PATH());
|
editor.putString(CommonString.KEY_PATH, lgs.getAPP_PATH());
|
||||||
editor.putString(CommonString.KEY_DATE, lgs.getCURRENTDATE());
|
editor.putString(CommonString.KEY_DATE, lgs.getCURRENTDATE());
|
||||||
|
//editor.putString(CommonString.KEY_DATE, "01/21/2017");
|
||||||
|
|
||||||
editor.commit();
|
editor.commit();
|
||||||
|
|
||||||
@@ -605,8 +605,7 @@ public class LoginActivity extends AppCompatActivity {
|
|||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
|
|
||||||
finish();
|
finish();
|
||||||
}
|
} else {
|
||||||
else{
|
|
||||||
|
|
||||||
updateResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
updateResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
||||||
|
|
||||||
@@ -674,11 +673,9 @@ public class LoginActivity extends AppCompatActivity {
|
|||||||
|
|
||||||
if (language.equalsIgnoreCase("English")) {
|
if (language.equalsIgnoreCase("English")) {
|
||||||
lang = "EN";
|
lang = "EN";
|
||||||
}
|
} else if (language.equalsIgnoreCase("UAE")) {
|
||||||
else if(language.equalsIgnoreCase("UAE")) {
|
|
||||||
lang = "AR";
|
lang = "AR";
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
lang = "TR";
|
lang = "TR";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -49,6 +49,7 @@ import cpm.com.gskmtorange.dailyentry.T2PComplianceActivity;
|
|||||||
import cpm.com.gskmtorange.dailyentry.StoreListActivity;
|
import cpm.com.gskmtorange.dailyentry.StoreListActivity;
|
||||||
import cpm.com.gskmtorange.download.DownloadActivity;
|
import cpm.com.gskmtorange.download.DownloadActivity;
|
||||||
import cpm.com.gskmtorange.gsk_dailyentry.CategoryListActivity;
|
import cpm.com.gskmtorange.gsk_dailyentry.CategoryListActivity;
|
||||||
|
import cpm.com.gskmtorange.upload.PreviousDataUploadActivity;
|
||||||
import cpm.com.gskmtorange.upload.UploadActivity;
|
import cpm.com.gskmtorange.upload.UploadActivity;
|
||||||
|
|
||||||
public class MainActivity extends AppCompatActivity
|
public class MainActivity extends AppCompatActivity
|
||||||
@@ -186,9 +187,31 @@ public class MainActivity extends AppCompatActivity
|
|||||||
|
|
||||||
// Handle the camera action
|
// Handle the camera action
|
||||||
} else if (id == R.id.nav_download) {
|
} else if (id == R.id.nav_download) {
|
||||||
|
if (checkNetIsAvailable()) {
|
||||||
|
|
||||||
|
if (db.isCoverageDataFilled(date)) {
|
||||||
|
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
|
||||||
|
builder.setTitle("Parinaam");
|
||||||
|
builder.setMessage(getResources().getString(R.string.previous_data_upload)).setCancelable(false)
|
||||||
|
.setPositiveButton(getResources().getString(R.string.ok), new DialogInterface.OnClickListener() {
|
||||||
|
public void onClick(DialogInterface dialog, int id) {
|
||||||
|
|
||||||
|
Intent in = new Intent(getApplicationContext(), PreviousDataUploadActivity.class);
|
||||||
|
startActivity(in);
|
||||||
|
finish();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
AlertDialog alert = builder.create();
|
||||||
|
alert.show();
|
||||||
|
|
||||||
|
} else {
|
||||||
Intent in = new Intent(getApplicationContext(), DownloadActivity.class);
|
Intent in = new Intent(getApplicationContext(), DownloadActivity.class);
|
||||||
startActivity(in);
|
startActivity(in);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Snackbar.make(webView, getResources().getString(R.string.nonetwork), Snackbar.LENGTH_SHORT)
|
||||||
|
.setAction("Action", null).show();
|
||||||
|
}
|
||||||
|
|
||||||
} else if (id == R.id.nav_upload) {
|
} else if (id == R.id.nav_upload) {
|
||||||
|
|
||||||
@@ -228,7 +251,7 @@ public class MainActivity extends AppCompatActivity
|
|||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
Snackbar.make(webView, "No Network Available", Snackbar.LENGTH_SHORT)
|
Snackbar.make(webView, getResources().getString(R.string.nonetwork), Snackbar.LENGTH_SHORT)
|
||||||
.setAction("Action", null).show();
|
.setAction("Action", null).show();
|
||||||
|
|
||||||
// Toast.makeText(getApplicationContext(), "No Network Available", Toast.LENGTH_SHORT).show();
|
// Toast.makeText(getApplicationContext(), "No Network Available", Toast.LENGTH_SHORT).show();
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl
|
|||||||
ArrayList<SkuGetterSetter> empty_list = new ArrayList<>();
|
ArrayList<SkuGetterSetter> empty_list = new ArrayList<>();
|
||||||
String _pathforcheck, _path, str, msg;
|
String _pathforcheck, _path, str, msg;
|
||||||
private SharedPreferences preferences;
|
private SharedPreferences preferences;
|
||||||
String store_id, date, intime, img_str, togglevalue = "1", CATEGORY_ID, camera_allow;
|
String store_id, date, intime, img_str, togglevalue = "1", CATEGORY_ID, camera_allow,store_type_id,class_id,key_account_id;
|
||||||
ImageView img_cam, img_clicked;
|
ImageView img_cam, img_clicked;
|
||||||
Button btn_add, btn_close;
|
Button btn_add, btn_close;
|
||||||
EditText Edt_txt;
|
EditText Edt_txt;
|
||||||
@@ -132,6 +132,9 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl
|
|||||||
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
preferences = PreferenceManager.getDefaultSharedPreferences(this);
|
||||||
store_id = preferences.getString(CommonString.KEY_STORE_ID, null);
|
store_id = preferences.getString(CommonString.KEY_STORE_ID, null);
|
||||||
camera_allow = preferences.getString(CommonString.KEY_CAMERA_ALLOW, "");
|
camera_allow = preferences.getString(CommonString.KEY_CAMERA_ALLOW, "");
|
||||||
|
store_type_id= preferences.getString(CommonString.KEY_STORETYPE_ID, "");
|
||||||
|
class_id= preferences.getString(CommonString.KEY_CLASS_ID, "");
|
||||||
|
key_account_id= preferences.getString(CommonString.KEY_KEYACCOUNT_ID, "");
|
||||||
updateResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
updateResources(getApplicationContext(), preferences.getString(CommonString.KEY_LANGUAGE, ""));
|
||||||
|
|
||||||
categoryName = getIntent().getStringExtra("categoryName");
|
categoryName = getIntent().getStringExtra("categoryName");
|
||||||
@@ -1005,7 +1008,9 @@ public class AdditionalVisibility extends AppCompatActivity implements View.OnCl
|
|||||||
|
|
||||||
|
|
||||||
public void showSkuDialog() {
|
public void showSkuDialog() {
|
||||||
final ArrayList<BrandMasterGetterSetter> brandList = db.getBrandT2PData("1", "1", "1", categoryId);
|
|
||||||
|
final ArrayList<BrandMasterGetterSetter> brandList = db.getBrandT2PData(store_type_id, class_id, key_account_id);
|
||||||
|
|
||||||
BrandMasterGetterSetter brand = new BrandMasterGetterSetter();
|
BrandMasterGetterSetter brand = new BrandMasterGetterSetter();
|
||||||
brand.setBRAND(getResources().getString(R.string.select));
|
brand.setBRAND(getResources().getString(R.string.select));
|
||||||
brandList.add(0, brand);
|
brandList.add(0, brand);
|
||||||
|
|||||||
+1103
File diff suppressed because it is too large
Load Diff
@@ -1053,7 +1053,6 @@ public class UploadActivity extends AppCompatActivity {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onResume() {
|
protected void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
|
|||||||
@@ -189,6 +189,8 @@
|
|||||||
<string name="dialog_title">Parinaam</string>
|
<string name="dialog_title">Parinaam</string>
|
||||||
<!--Gagan end new code 2-->
|
<!--Gagan end new code 2-->
|
||||||
|
|
||||||
|
<string name="previous_data_upload">Lütfen Önceki Verileri Paylaşın</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -224,6 +224,9 @@
|
|||||||
<string name="data_downloaded_successfully">Data downloaded successfully</string>
|
<string name="data_downloaded_successfully">Data downloaded successfully</string>
|
||||||
<string name="export_database">Export Database</string>
|
<string name="export_database">Export Database</string>
|
||||||
<string name="data_exported_successfully">Database Exported Successfully</string>
|
<string name="data_exported_successfully">Database Exported Successfully</string>
|
||||||
|
|
||||||
<string name="uploadeddata">Uploaded Data</string>
|
<string name="uploadeddata">Uploaded Data</string>
|
||||||
|
|
||||||
|
<string name="previous_data_upload">Please Upload Previous Data First</string>
|
||||||
|
|
||||||
</resources>
|
</resources>
|
||||||
|
|||||||
Reference in New Issue
Block a user