Skip to content

Commit 9d62b85

Browse files
committed
migrate contributions management process
1 parent c68f6d6 commit 9d62b85

21 files changed

Lines changed: 439 additions & 187 deletions

app/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ android {
8989
}
9090
demoRelease {
9191
applicationId = "org.openimis.imispolicies.demoRelease"
92-
buildConfigField "String", "API_BASE_URL", '"https://release.openimis.org/"'
92+
buildConfigField "String", "API_BASE_URL", '"https://develop.openimis.org/"'
9393
resValue "string", "app_name_policies", "Policies Release"
9494
dimension = 'std'
9595
}

app/src/localeMv/res/values-fr/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,4 +490,5 @@
490490
<string name="ChangeRarPassword">Changer le mot de passe RAR</string>
491491
<string name="PasswordChanged">Mot de passe changé avec succès</string>
492492
<string name="ResetRarPwd">Le mot de passe RAR par défaut a été défini</string>
493+
<string name="ConfirmDeletePremium">Êtes-vous sure de vouloir supprimer cette contribution?</string>
493494
</resources>

app/src/main/java/org/openimis/imispolicies/Enrolment.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,22 @@
22

33
import android.content.Intent;
44
import android.os.Bundle;
5+
import android.view.Menu;
56
import android.view.MenuItem;
6-
import android.widget.TextView;
77

88
import androidx.annotation.NonNull;
99
import androidx.appcompat.app.AppCompatActivity;
10-
import androidx.appcompat.widget.Toolbar;
1110
import androidx.recyclerview.widget.LinearLayoutManager;
1211
import androidx.recyclerview.widget.RecyclerView;
1312

14-
import com.google.android.material.floatingactionbutton.FloatingActionButton;
15-
1613
import org.json.JSONArray;
1714
import org.json.JSONException;
1815

1916
public class Enrolment extends AppCompatActivity {
2017

2118
RecyclerView recyclerView;
22-
FloatingActionButton btnAdd;
2319
ClientAndroidInterface ca;
20+
String page = "families";
2421

2522
@Override
2623
protected void onCreate(Bundle savedInstanceState) {
@@ -34,15 +31,9 @@ protected void onCreate(Bundle savedInstanceState) {
3431
ca = new ClientAndroidInterface(this);
3532

3633
recyclerView = findViewById(R.id.recyclerFamilies);
37-
btnAdd = findViewById(R.id.btnAddNew);
3834
recyclerView.setLayoutManager(new LinearLayoutManager(this));
3935

4036
loadFamilies();
41-
btnAdd.setOnClickListener(v -> {
42-
Intent intent = new Intent(this, FamilyActivity.class);
43-
intent.putExtra("familyId",0);
44-
startActivity(intent);
45-
});
4637
}
4738

4839
@Override
@@ -62,13 +53,24 @@ private void loadFamilies() {
6253
}
6354
}
6455

56+
@Override
57+
public boolean onCreateOptionsMenu(Menu menu) {
58+
getMenuInflater().inflate(R.menu.menu_add, menu);
59+
return true;
60+
}
61+
6562
@Override
6663
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
6764
if (item.getItemId() == android.R.id.home) {
6865
// Option 2: Fermer l'activité directement
6966
finish();
7067
return true;
7168
}
69+
if (item.getItemId() == R.id.action_add && page.equals("families")) {
70+
Intent intent = new Intent(this, FamilyActivity.class);
71+
intent.putExtra("familyId",0);
72+
startActivity(intent);
73+
}
7274
return super.onOptionsItemSelected(item);
7375
}
7476
}

app/src/main/java/org/openimis/imispolicies/FamilyAdapter.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -55,13 +55,7 @@ public void onBindViewHolder(ViewHolder holder, int position) {
5555
} catch (JSONException e) {
5656
throw new RuntimeException(e);
5757
}
58-
59-
holder.btnContextMenu.setOnClickListener(new View.OnClickListener() {
60-
@Override
61-
public void onClick(View view) {
62-
showContextMenu(view, position);
63-
}
64-
});
58+
holder.itemView.setOnClickListener((v)-> showContextMenu(v,position));
6559
}
6660

6761
@Override
@@ -72,7 +66,6 @@ public int getItemCount() {
7266
public class ViewHolder extends RecyclerView.ViewHolder{
7367

7468
TextView name,chfid,region, district, village;
75-
ImageView btnContextMenu;
7669

7770
public ViewHolder(View itemView) {
7871
super(itemView);
@@ -81,7 +74,6 @@ public ViewHolder(View itemView) {
8174
region = itemView.findViewById(R.id.txtRegion);
8275
district = itemView.findViewById(R.id.txtDistrict);
8376
village = itemView.findViewById(R.id.txtVillage);
84-
btnContextMenu = itemView.findViewById(R.id.btnContextMenuFamily);
8577
}
8678
}
8779

app/src/main/java/org/openimis/imispolicies/InsureeAdapter.java

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
import android.view.LayoutInflater;
1111
import android.view.View;
1212
import android.view.ViewGroup;
13-
import android.widget.ImageView;
1413
import android.widget.PopupMenu;
1514
import android.widget.TextView;
1615

@@ -62,13 +61,7 @@ public void onBindViewHolder(@NonNull InsureeAdapter.ViewHolder holder, int posi
6261
} catch (JSONException e) {
6362
throw new RuntimeException(e);
6463
}
65-
66-
holder.btnContextMenu.setOnClickListener(new View.OnClickListener() {
67-
@Override
68-
public void onClick(View view) {
69-
showContextMenu(view, position);
70-
}
71-
});
64+
holder.itemView.setOnClickListener((v)-> showContextMenu(v,position));
7265
}
7366

7467
@Override
@@ -79,15 +72,13 @@ public int getItemCount() {
7972
public class ViewHolder extends RecyclerView.ViewHolder{
8073

8174
TextView name,chfid,dob;
82-
ImageView btnContextMenu;
8375
MaterialCardView insureeCard;
8476

8577
public ViewHolder(View itemView) {
8678
super(itemView);
8779
chfid = itemView.findViewById(R.id.CHFID);
8880
name = itemView.findViewById(R.id.InsureeName);
8981
dob = itemView.findViewById(R.id.item_dob);
90-
btnContextMenu = itemView.findViewById(R.id.btnContextMenuInsuree);
9182
insureeCard = itemView.findViewById(R.id.family_insurees_card);
9283
}
9384
}

app/src/main/java/org/openimis/imispolicies/MainActivity.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727

2828
import android.Manifest;
2929
import android.annotation.SuppressLint;
30-
import android.app.ActionBar;
3130
import android.app.Activity;
3231
import android.app.ProgressDialog;
3332
import android.content.ActivityNotFoundException;
@@ -37,16 +36,13 @@
3736
import android.net.Uri;
3837
import android.os.AsyncTask;
3938
import android.os.Bundle;
40-
import android.provider.MediaStore;
4139
import android.text.TextUtils;
4240
import android.view.KeyEvent;
4341
import android.view.LayoutInflater;
4442
import android.view.Menu;
4543
import android.view.MenuItem;
4644
import android.view.View;
4745
import android.view.WindowManager;
48-
import android.webkit.WebChromeClient;
49-
import android.webkit.WebSettings;
5046
import android.webkit.WebView;
5147
import android.widget.EditText;
5248
import android.widget.TextView;
@@ -62,21 +58,16 @@
6258
import androidx.core.view.GravityCompat;
6359
import androidx.drawerlayout.widget.DrawerLayout;
6460

65-
import com.google.android.material.floatingactionbutton.FloatingActionButton;
6661
import com.google.android.material.navigation.NavigationView;
67-
import com.google.android.material.snackbar.Snackbar;
68-
import com.google.zxing.client.android.Intents;
6962

7063
import org.apache.commons.io.IOUtils;
7164
import org.json.JSONArray;
7265
import org.json.JSONException;
7366
import org.json.JSONObject;
74-
import org.openimis.imispolicies.network.exception.HttpException;
7567
import org.openimis.imispolicies.network.exception.UserNotAuthenticatedException;
7668
import org.openimis.imispolicies.tools.LanguageManager;
7769
import org.openimis.imispolicies.tools.Log;
7870
import org.openimis.imispolicies.util.AndroidUtils;
79-
import org.openimis.imispolicies.util.StringUtils;
8071
import org.openimis.imispolicies.util.UriUtils;
8172

8273
import java.io.BufferedReader;

app/src/main/java/org/openimis/imispolicies/PolicyAdapter.java

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,13 +61,7 @@ public void onBindViewHolder(@NonNull PolicyAdapter.ViewHolder holder, int posit
6161
} catch (JSONException e) {
6262
throw new RuntimeException(e);
6363
}
64-
65-
holder.btnContextMenu.setOnClickListener(new View.OnClickListener() {
66-
@Override
67-
public void onClick(View view) {
68-
showContextMenu(view, position);
69-
}
70-
});
64+
holder.itemView.setOnClickListener((v) -> showContextMenu(v, position));
7165
}
7266

7367
@Override
@@ -77,7 +71,6 @@ public int getItemCount() {
7771

7872
public class ViewHolder extends RecyclerView.ViewHolder{
7973
TextView productCode,productName,policyStatus, expiryDate, startDate, value, effectiveDate;
80-
ImageView btnContextMenu;
8174

8275
public ViewHolder(View itemView) {
8376
super(itemView);
@@ -88,7 +81,6 @@ public ViewHolder(View itemView) {
8881
effectiveDate = itemView.findViewById(R.id.policyEffectiveDate);
8982
startDate = itemView.findViewById(R.id.policyStartDate);
9083
value = itemView.findViewById(R.id.policyValue);
91-
btnContextMenu = itemView.findViewById(R.id.btnContextMenuPolicy);
9284
}
9385
}
9486

app/src/main/java/org/openimis/imispolicies/PolicyPremiumsActivity.java

Lines changed: 22 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,14 @@
22

33
import android.content.Intent;
44
import android.os.Bundle;
5+
import android.view.Menu;
56
import android.view.MenuItem;
67

78
import androidx.annotation.NonNull;
89
import androidx.appcompat.app.AppCompatActivity;
10+
import androidx.recyclerview.widget.LinearLayoutManager;
911
import androidx.recyclerview.widget.RecyclerView;
1012

11-
import com.google.android.material.floatingactionbutton.FloatingActionButton;
1213

1314
import org.json.JSONArray;
1415
import org.json.JSONException;
@@ -17,8 +18,8 @@ public class PolicyPremiumsActivity extends AppCompatActivity {
1718

1819
ClientAndroidInterface ca;
1920
RecyclerView recyclerView;
20-
FloatingActionButton btnAdd;
2121
private int familyId, policyId, regionId, districtId;
22+
String page = "premiums";
2223

2324
@Override
2425
protected void onCreate(Bundle savedInstanceState) {
@@ -31,48 +32,50 @@ protected void onCreate(Bundle savedInstanceState) {
3132
ca = new ClientAndroidInterface(this);
3233
familyId = getIntent().getIntExtra("FamilyId", 0);
3334
policyId = getIntent().getIntExtra("PolicyId", 0);
34-
policyId = getIntent().getIntExtra("RegionId", 0);
35-
policyId = getIntent().getIntExtra("DistrictId", 0);
35+
regionId = getIntent().getIntExtra("RegionId", 0);
36+
districtId = getIntent().getIntExtra("DistrictId", 0);
3637
initViews();
37-
setupListenners();
3838
loadPremiums();
3939

4040
}
4141

42+
@Override
43+
public boolean onCreateOptionsMenu(Menu menu) {
44+
getMenuInflater().inflate(R.menu.menu_add, menu);
45+
return true;
46+
}
47+
4248
@Override
4349
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
4450
if (item.getItemId() == android.R.id.home) {
4551
finish();
4652
return true;
4753
}
48-
return super.onOptionsItemSelected(item);
49-
}
50-
51-
private void initViews(){
52-
btnAdd = findViewById(R.id.btnAddNewPremiums);
53-
recyclerView = findViewById(R.id.recyclerPremiums);
54-
}
55-
56-
private void setupListenners(){
57-
btnAdd.setOnClickListener(v -> {
54+
if (item.getItemId() == R.id.action_add && page.equals("premiums")) {
5855
Intent intent = new Intent(this, PremiumActivity.class);
5956
intent.putExtra("FamilyId", familyId);
6057
intent.putExtra("PolicyId", policyId);
6158
intent.putExtra("RegionId", regionId);
62-
intent.putExtra("DistrictId", regionId);
59+
intent.putExtra("DistrictId", districtId);
6360
intent.putExtra("PremiumId", 0);
6461
startActivity(intent);
65-
});
62+
}
63+
return super.onOptionsItemSelected(item);
64+
}
65+
66+
private void initViews(){
67+
recyclerView = findViewById(R.id.recyclerPremiums);
68+
recyclerView.setLayoutManager(new LinearLayoutManager(this));
6669
}
6770

6871
private void loadPremiums() {
6972
String premiums = ca.getPremiums(policyId);
7073
try{
7174
JSONArray premiumArray = new JSONArray(premiums);
72-
PremiumAdapter adapter = new PremiumAdapter(this,premiumArray);
75+
PremiumAdapter adapter = new PremiumAdapter(this,premiumArray, policyId, familyId, regionId, districtId);
7376
recyclerView.setAdapter(adapter);
7477
} catch(JSONException e){
75-
e.printStackTrace();
78+
throw new RuntimeException(e);
7679
}
7780

7881
}

0 commit comments

Comments
 (0)