Some improvement for Pleroma moderation
This commit is contained in:
parent
0e68138edc
commit
cc4442f180
|
@ -337,26 +337,15 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
|
||||
imm.hideSoftInputFromWindow(comment.getWindowToken(), 0);
|
||||
}
|
||||
if( accountAdmin.getRole() == null) {
|
||||
return;
|
||||
}
|
||||
switch (accountAdmin.getRole()) {
|
||||
case "user":
|
||||
permissions.setText(getString(R.string.user));
|
||||
break;
|
||||
case "moderator":
|
||||
permissions.setText(getString(R.string.moderator));
|
||||
break;
|
||||
case "admin":
|
||||
permissions.setText(getString(R.string.administrator));
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
username.setText(String.format("@%s", accountAdmin.getAccount().getAcct()));
|
||||
|
||||
email.setText(accountAdmin.getEmail());
|
||||
email_status.setText(accountAdmin.isConfirmed()?getString(R.string.confirmed):getString(R.string.unconfirmed));
|
||||
|
||||
if( accountAdmin.getEmail() == null || accountAdmin.getEmail().trim().equals("")){
|
||||
email.setVisibility(View.GONE);
|
||||
email_label.setVisibility(View.GONE);
|
||||
|
@ -398,27 +387,34 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
suspend.setVisibility(View.VISIBLE);
|
||||
comment_label.setVisibility(View.GONE);
|
||||
}
|
||||
if( accountAdmin.getRole().equals("admin") || accountAdmin.getRole().equals("moderator")){
|
||||
warn.setVisibility(View.GONE);
|
||||
suspend.setVisibility(View.GONE);
|
||||
silence.setVisibility(View.GONE);
|
||||
disable.setVisibility(View.GONE);
|
||||
email_user.setVisibility(View.GONE);
|
||||
email_user.setChecked(false);
|
||||
comment.setVisibility(View.GONE);
|
||||
comment_label.setVisibility(View.GONE);
|
||||
}
|
||||
if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA){
|
||||
email_user.setVisibility(View.GONE);
|
||||
email_user.setChecked(false);
|
||||
comment.setVisibility(View.GONE);
|
||||
comment_label.setVisibility(View.GONE);
|
||||
warn.setVisibility(View.GONE);
|
||||
silence.setVisibility(View.GONE);
|
||||
|
||||
if( accountAdmin.getRole() != null) {
|
||||
switch (accountAdmin.getRole()) {
|
||||
case "user":
|
||||
permissions.setText(getString(R.string.user));
|
||||
break;
|
||||
case "moderator":
|
||||
permissions.setText(getString(R.string.moderator));
|
||||
break;
|
||||
case "admin":
|
||||
permissions.setText(getString(R.string.administrator));
|
||||
break;
|
||||
}
|
||||
if( accountAdmin.getRole().equals("admin") || accountAdmin.getRole().equals("moderator")){
|
||||
warn.setVisibility(View.GONE);
|
||||
suspend.setVisibility(View.GONE);
|
||||
silence.setVisibility(View.GONE);
|
||||
disable.setVisibility(View.GONE);
|
||||
email_user.setVisibility(View.GONE);
|
||||
email_user.setChecked(false);
|
||||
comment.setVisibility(View.GONE);
|
||||
comment_label.setVisibility(View.GONE);
|
||||
}
|
||||
email_status.setText(accountAdmin.isConfirmed()?getString(R.string.confirmed):getString(R.string.unconfirmed));
|
||||
}
|
||||
|
||||
|
||||
joined.setText(Helper.dateToString(accountAdmin.getCreated_at()));
|
||||
|
||||
if( report != null){
|
||||
assign.setVisibility(View.VISIBLE);
|
||||
status.setVisibility(View.VISIBLE);
|
||||
|
@ -434,7 +430,6 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
new PostAdminActionAsyncTask(getApplicationContext(), API.adminAction.UNASSIGN, report.getId(), null, AccountReportActivity.this).executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
|
||||
}
|
||||
});
|
||||
|
||||
if( report.isAction_taken()){
|
||||
status.setText(getString(R.string.mark_unresolved));
|
||||
}else{
|
||||
|
@ -452,6 +447,15 @@ public class AccountReportActivity extends BaseActivity implements OnAdminAction
|
|||
assign.setVisibility(View.GONE);
|
||||
status.setVisibility(View.GONE);
|
||||
}
|
||||
if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA){
|
||||
email_user.setVisibility(View.GONE);
|
||||
email_user.setChecked(false);
|
||||
comment.setVisibility(View.INVISIBLE);
|
||||
comment_label.setVisibility(View.GONE);
|
||||
warn.setVisibility(View.GONE);
|
||||
silence.setVisibility(View.GONE);
|
||||
assign.setVisibility(View.GONE);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,6 +20,7 @@ import android.content.SharedPreferences;
|
|||
import android.database.sqlite.SQLiteDatabase;
|
||||
import android.os.Bundle;
|
||||
|
||||
|
||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||
|
||||
import com.google.gson.JsonArray;
|
||||
|
@ -278,7 +279,10 @@ public class API {
|
|||
params.put("resolved", "present");
|
||||
}
|
||||
}else if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) {
|
||||
if( !adminAction.isUnresolved()) {
|
||||
if( adminAction.isUnresolved()) {
|
||||
params = new HashMap<>();
|
||||
params.put("state", "open");
|
||||
}else{
|
||||
params = new HashMap<>();
|
||||
params.put("state", "resolved");
|
||||
}
|
||||
|
@ -392,10 +396,24 @@ public class API {
|
|||
endpoint = String.format("/admin/reports/%s/unassign", id);
|
||||
break;
|
||||
case REOPEN:
|
||||
endpoint = String.format("/admin/reports/%s/reopen", id);
|
||||
if(MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON) {
|
||||
endpoint = String.format("/admin/reports/%s/reopen", id);
|
||||
}else if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) {
|
||||
endpoint = String.format("/admin/reports/%s", id);
|
||||
params = new HashMap<>();
|
||||
params.put("state","open");
|
||||
http_action = "PUT";
|
||||
}
|
||||
break;
|
||||
case RESOLVE:
|
||||
endpoint = String.format("/admin/reports/%s/resolve", id);
|
||||
if(MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON) {
|
||||
endpoint = String.format("/admin/reports/%s/resolve", id);
|
||||
}else if( MainActivity.social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA) {
|
||||
endpoint = String.format("/admin/reports/%s", id);
|
||||
params = new HashMap<>();
|
||||
params.put("state","resolved");
|
||||
http_action = "PUT";
|
||||
}
|
||||
break;
|
||||
case NONE:
|
||||
params = new HashMap<>();
|
||||
|
@ -464,6 +482,9 @@ public class API {
|
|||
case "PATCH":
|
||||
response = new HttpsConnection(context, this.instance).patch(url_action, 60, params, null, null, null, null, prefKeyOauthTokenT);
|
||||
break;
|
||||
case "PUT":
|
||||
response = new HttpsConnection(context, this.instance).put(url_action, 60, params, prefKeyOauthTokenT);
|
||||
break;
|
||||
case "DELETE":
|
||||
new HttpsConnection(context, this.instance).delete(url_action, 60, params, prefKeyOauthTokenT);
|
||||
break;
|
||||
|
@ -5217,7 +5238,7 @@ public class API {
|
|||
if( !resobj.isNull("action_taken")) {
|
||||
report.setAction_taken(resobj.getBoolean("action_taken"));
|
||||
}else if( !resobj.isNull("state")) {
|
||||
report.setAction_taken(!resobj.has("open"));
|
||||
report.setAction_taken(!resobj.getString("state").equals("open"));
|
||||
}
|
||||
if( !resobj.isNull("comment")) {
|
||||
report.setComment(resobj.getString("comment"));
|
||||
|
@ -5491,8 +5512,17 @@ public class API {
|
|||
if( resobj.has("source")){
|
||||
JSONObject source = resobj.getJSONObject("source");
|
||||
try{
|
||||
account.setPrivacy(source.getString("privacy"));
|
||||
account.setSensitive(source.getBoolean("sensitive"));
|
||||
if( source.has("privacy")) {
|
||||
account.setPrivacy(source.getString("privacy"));
|
||||
}else{
|
||||
account.setPrivacy("public");
|
||||
}
|
||||
if( source.has("sensitive")) {
|
||||
account.setSensitive(source.getBoolean("sensitive"));
|
||||
}else{
|
||||
account.setSensitive(false);
|
||||
}
|
||||
|
||||
}catch (Exception e){
|
||||
account.setPrivacy("public");
|
||||
account.setSensitive(false);
|
||||
|
|
|
@ -2920,7 +2920,7 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
|||
popup.getMenu().findItem(R.id.action_schedule_boost).setVisible(false);
|
||||
popup.getMenu().findItem(R.id.action_mention).setVisible(false);
|
||||
}
|
||||
if( MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.MASTODON){
|
||||
if( MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.MASTODON && MainActivity.social != UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA){
|
||||
popup.getMenu().findItem(R.id.action_admin).setVisible(false);
|
||||
}else{
|
||||
boolean display_admin_statuses = sharedpreferences.getBoolean(Helper.SET_DISPLAY_ADMIN_STATUSES + userId + Helper.getLiveInstance(context), false);
|
||||
|
@ -2962,9 +2962,14 @@ public class StatusListAdapter extends RecyclerView.Adapter implements OnPostAct
|
|||
return true;
|
||||
case R.id.action_admin:
|
||||
String account_id = status.getReblog() != null ? status.getReblog().getAccount().getId() : status.getAccount().getId();
|
||||
String acct = status.getReblog() != null ? status.getReblog().getAccount().getAcct() : status.getAccount().getAcct();
|
||||
Intent intent = new Intent(context, AccountReportActivity.class);
|
||||
Bundle b = new Bundle();
|
||||
b.putString("account_id", account_id);
|
||||
if( social == UpdateAccountInfoAsyncTask.SOCIAL.MASTODON) {
|
||||
b.putString("account_id", account_id);
|
||||
}else if( social == UpdateAccountInfoAsyncTask.SOCIAL.PLEROMA){
|
||||
b.putString("account_id", acct);
|
||||
}
|
||||
intent.putExtras(b);
|
||||
context.startActivity(intent);
|
||||
return true;
|
||||
|
|
Loading…
Reference in New Issue