From 25857bb395aaf191b39c6b59f4e43c25ae151be8 Mon Sep 17 00:00:00 2001 From: BenoƮt Verhaeghe Date: Sat, 4 Feb 2017 22:13:11 +0100 Subject: [PATCH] Fragment Personne --- app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java | 25 +++++++++++++++++++------ app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java | 2 +- app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonOverviewFragment.java | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonneFragment.java | 23 +++++++++++++++++------ app/src/main/res/layout/fragment_person_overview.xml | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ app/src/main/res/values/strings.xml | 3 +++ 6 files changed, 199 insertions(+), 13 deletions(-) create mode 100644 app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonOverviewFragment.java create mode 100644 app/src/main/res/layout/fragment_person_overview.xml diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java index 8a1d83d..2700f20 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/MainActivity.java @@ -2,6 +2,7 @@ package net.plil.clubinfo.etunicorn.app; import android.app.PendingIntent; import android.content.Intent; +import android.net.Uri; import android.nfc.NfcAdapter; import android.nfc.Tag; import android.os.Bundle; @@ -10,6 +11,7 @@ import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; +import android.support.v4.app.FragmentTransaction; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; @@ -24,6 +26,7 @@ import net.plil.clubinfo.etunicorn.app.event.EventFragment; import net.plil.clubinfo.etunicorn.app.event.PaiementEvent; import net.plil.clubinfo.etunicorn.app.consommation.FragmentConsommation; import net.plil.clubinfo.etunicorn.app.consommation.PaiementConsommation; +import net.plil.clubinfo.etunicorn.app.personne.PersonOverviewFragment; import net.plil.clubinfo.etunicorn.app.personne.PersonneFragment; import net.plil.clubinfo.etunicorn.data.Consommation; import net.plil.clubinfo.etunicorn.data.Event; @@ -37,7 +40,9 @@ import java.util.List; public class MainActivity extends AppCompatActivity implements FragmentConsommation.OnListFragmentInteractionListener, EventFragment.OnListFragmentInteractionListener, - PersonneFragment.OnListFragmentInteractionListener{ + PersonneFragment.OnListFragmentInteractionListener, + PersonOverviewFragment.OnFragmentInteractionListener +{ /** * The {@link android.support.v4.view.PagerAdapter} that will provide @@ -70,17 +75,18 @@ public class MainActivity extends AppCompatActivity // config tabbed pan Intent intent = this.getIntent(); Personne p = (Personne) intent.getSerializableExtra("user"); - Toast.makeText(getApplicationContext(), p.getRole().getPermissions().get(0).getNom(), Toast.LENGTH_LONG).show(); + //TODO remove this line + Toast.makeText(getApplicationContext(), p.getRole().getPermissions().get(0).getNom(), Toast.LENGTH_SHORT).show(); if (p.getRole().getPermissions().get(0).getNom().equals("ROLE_ADMIN")){ nbPages = 5; Action.CONSOMATION.setValue(2); Action.EVENT.setValue(3); Action.PERSONNE.setValue(4); } else if (p.getRole().getPermissions().get(0).getNom().equals("ROLE_BDE")){ - nbPages = 4; - Action.CONSOMATION.setValue(-1); - Action.EVENT.setValue(2); - Action.PERSONNE.setValue(3); + nbPages = 4; + Action.CONSOMATION.setValue(-1); + Action.EVENT.setValue(2); + Action.PERSONNE.setValue(3); } else if (p.getRole().getPermissions().get(0).getNom().equals("ROLE_BAR")){ nbPages = 3; Action.CONSOMATION.setValue(2); @@ -190,6 +196,8 @@ public class MainActivity extends AppCompatActivity @Override public void onListFragmentInteraction(Personne personne) { + PersonOverviewFragment personOverviewFragment = PersonOverviewFragment.newInstance(personne); + personOverviewFragment.show(getSupportFragmentManager(), "overviewPersonne"); } @@ -198,6 +206,11 @@ public class MainActivity extends AppCompatActivity } + @Override + public void onFragmentInteraction(Uri uri) { + + } + /** * A {@link FragmentPagerAdapter} that returns a fragment corresponding to * one of the sections/tabs/pages. diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java index 922e429..833de72 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/ModifyPersonne.java @@ -40,7 +40,7 @@ public class ModifyPersonne extends DialogFragment { // Supply num input as an argument. Bundle args = new Bundle(); - args.putSerializable("event", personne); + args.putSerializable("personne", personne); f.setArguments(args); return f; diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonOverviewFragment.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonOverviewFragment.java new file mode 100644 index 0000000..4ac0f3a --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonOverviewFragment.java @@ -0,0 +1,104 @@ +package net.plil.clubinfo.etunicorn.app.personne; + +import android.app.Dialog; +import android.content.Context; +import android.net.Uri; +import android.os.Bundle; +import android.support.v4.app.DialogFragment; +import android.support.v4.app.Fragment; +import android.support.v7.app.AlertDialog; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.TextView; + +import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.data.Personne; + +import java.util.Locale; + +/** + * A simple {@link Fragment} subclass. + * Activities that contain this fragment must implement the + * {@link PersonOverviewFragment.OnFragmentInteractionListener} interface + * to handle interaction events. + */ +public class PersonOverviewFragment extends DialogFragment{ + + private OnFragmentInteractionListener mListener; + + TextView mCarte; + TextView mNaissance; + TextView mSolde; + TextView mLogin; + TextView mRole; + + public PersonOverviewFragment() { + // Required empty public constructor + } + + public static PersonOverviewFragment newInstance(Personne item) { + PersonOverviewFragment f = new PersonOverviewFragment(); + Bundle args = new Bundle(); + args.putSerializable("personne", item); + f.setArguments(args); + return f; + } + + @Override + public Dialog onCreateDialog(Bundle savedInstanceState){ + LayoutInflater inflater = getActivity().getLayoutInflater(); + View view = inflater.inflate(R.layout.fragment_person_overview, null); + + final Personne personne = (Personne) getArguments().getSerializable("personne"); + + mCarte = (TextView) view.findViewById(R.id.personne_overview_carte); + mLogin = (TextView) view.findViewById(R.id.personne_overview_login); + mNaissance = (TextView) view.findViewById(R.id.personne_overview_naissance); + mSolde = (TextView) view.findViewById(R.id.personne_overview_solde); + mRole = (TextView) view.findViewById(R.id.personne_overview_role); + + assert personne != null; + mCarte.setText(personne.getIdCarte()); + mRole.setText(personne.getRole().getName()); + mSolde.setText(String.format(Locale.FRANCE, "%.2f",personne.getSolde())); + mNaissance.setText(personne.getNaissance().toString()); + mLogin.setText(personne.getLoginPoly()); + + AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); + builder + .setTitle(R.string.personne) + .setView(view); + return builder.create(); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + return inflater.inflate(R.layout.fragment_person_overview, container, false); + } + + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnFragmentInteractionListener) { + mListener = (OnFragmentInteractionListener) context; + } else { + throw new RuntimeException(context.toString() + + " must implement OnFragmentInteractionListener"); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + + public interface OnFragmentInteractionListener { + // TODO: Update argument type and name + void onFragmentInteraction(Uri uri); + } +} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonneFragment.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonneFragment.java index 0745441..fe958a0 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonneFragment.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonneFragment.java @@ -12,7 +12,9 @@ import android.view.ViewGroup; import net.plil.clubinfo.etunicorn.R; import net.plil.clubinfo.etunicorn.app.FragmentNFC; +import net.plil.clubinfo.etunicorn.data.Permission; import net.plil.clubinfo.etunicorn.data.Personne; +import net.plil.clubinfo.etunicorn.data.Role; import java.sql.Date; import java.util.ArrayList; @@ -56,13 +58,22 @@ public class PersonneFragment extends FragmentNFC { recyclerView.setLayoutManager(new LinearLayoutManager(context)); List personneList = new ArrayList<>(); + Role r = new Role(); + r.setName("ADMIN_TEST"); + Permission p = new Permission(); + p.setNom("Lire"); + r.getPermissions().add(p); + p = new Permission(); + p.setNom("Ecrire"); + r.getPermissions().add(p); for (int i = 0;i<150;++i){ - Personne p = new Personne(); - p.setIdCarte("15245698547856"); - p.setLoginPoly("bverhaeg"); - p.setNaissance(new Date(System.currentTimeMillis())); - p.setSolde(45); - personneList.add(p); + Personne personne = new Personne(); + personne.setIdCarte("15245698547856"); + personne.setLoginPoly("bverhaeg"); + personne.setNaissance(new Date(System.currentTimeMillis())); + personne.setSolde(45); + personne.setRole(r); + personneList.add(personne); } recyclerView.setAdapter(new MyPersonneRecyclerViewAdapter(personneList, mListener, getActivity())); diff --git a/app/src/main/res/layout/fragment_person_overview.xml b/app/src/main/res/layout/fragment_person_overview.xml new file mode 100644 index 0000000..1120a2c --- /dev/null +++ b/app/src/main/res/layout/fragment_person_overview.xml @@ -0,0 +1,55 @@ + + + + + + + + + + + + + + diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index be00ac7..c965ad8 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -41,4 +41,7 @@ Carte ID Birthday Role + + + Hello blank fragment -- libgit2 0.21.2