diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Crediter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Crediter.java deleted file mode 100644 index 38beeaa..0000000 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Crediter.java +++ /dev/null @@ -1,91 +0,0 @@ -package net.plil.clubinfo.etunicorn.app; - -import android.content.Context; -import android.net.Uri; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; -import android.widget.ProgressBar; -import android.widget.Toast; - -import com.android.volley.Request; -import com.android.volley.Response; -import com.android.volley.VolleyError; -import com.android.volley.toolbox.JsonObjectRequest; - -import net.plil.clubinfo.etunicorn.R; -import net.plil.clubinfo.etunicorn.utils.VolleyUtils; - -import org.json.JSONException; -import org.json.JSONObject; - -public class Crediter extends FragmentNFC { - - private EditText mMoneyEditText; - private ProgressBar mProgressBar; - - public Crediter() { - // Required empty public constructor - } - - public static Crediter newInstance() { - return new Crediter(); - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_crediter, container, false); - mMoneyEditText = (EditText) view.findViewById(R.id.crediter_ask_money); - mProgressBar = (ProgressBar) view.findViewById(R.id.crediter_progress_bar); - return view; - } - - - - - @Override - public void onAttach(Context context) { - super.onAttach(context); - } - - @Override - public void onDetach() { - super.onDetach(); - } - - @Override - public void processNFC(String idCardUser) { - mProgressBar.setVisibility(View.VISIBLE); - JSONObject jsonObject = new JSONObject(); - try { - jsonObject.put("participant", 1); - jsonObject.put("acteur", 2); - jsonObject.put("prix", Double.parseDouble(mMoneyEditText.getText().toString())); - } catch (JSONException e){ - e.printStackTrace(); - } - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/debit" ,jsonObject , new Response.Listener() { - @Override - public void onResponse(JSONObject response) { - mProgressBar.setVisibility(View.GONE); - } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - mProgressBar.setVisibility(View.GONE); - } - } - ); - - VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); - } -} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Debiter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Debiter.java deleted file mode 100644 index 6522c46..0000000 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Debiter.java +++ /dev/null @@ -1,99 +0,0 @@ -package net.plil.clubinfo.etunicorn.app; - -import android.content.Context; -import android.content.Intent; -import android.net.Uri; -import android.os.Bundle; -import android.support.v4.app.Fragment; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.EditText; -import android.widget.ProgressBar; -import android.widget.Toast; - -import com.android.volley.Request; -import com.android.volley.Response; -import com.android.volley.VolleyError; -import com.android.volley.toolbox.JsonObjectRequest; -import com.google.gson.Gson; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; - -import net.plil.clubinfo.etunicorn.R; -import net.plil.clubinfo.etunicorn.data.Personne; -import net.plil.clubinfo.etunicorn.utils.VolleyUtils; - -import org.json.JSONException; -import org.json.JSONObject; - -public class Debiter extends FragmentNFC { - - - private EditText mMoneyEditText; - private ProgressBar mProgressBar; - - - public Debiter() { - // Required empty public constructor - - } - - public static Debiter newInstance() { - return new Debiter(); - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - - - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, - Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_debiter, container, false); - mProgressBar = (ProgressBar) view.findViewById(R.id.debiter_progress); - mMoneyEditText = (EditText) view.findViewById(R.id.debiter_edit_text_money); - return view; - } - - @Override - public void onAttach(Context context) { - super.onAttach(context); - } - - @Override - public void onDetach() { - super.onDetach(); - } - - @Override - public void processNFC(String iDCardUser) { - mProgressBar.setVisibility(View.VISIBLE); - JSONObject jsonObject = new JSONObject(); - //TODO verifier champ complet avant de construire la requete - try { - jsonObject.put("participant", 1); - jsonObject.put("acteur", 2); - jsonObject.put("prix", Double.parseDouble(mMoneyEditText.getText().toString())); - } catch (JSONException e){ - e.printStackTrace(); - } - JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/debit" ,jsonObject , new Response.Listener() { - @Override - public void onResponse(JSONObject response) { - mProgressBar.setVisibility(View.GONE); - } - }, new Response.ErrorListener() { - @Override - public void onErrorResponse(VolleyError error) { - mProgressBar.setVisibility(View.GONE); - } - } - ); - - VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); - } -} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java index e8454f5..10f8257 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/EventFragment.java @@ -8,6 +8,7 @@ import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.Toast; import net.plil.clubinfo.etunicorn.R; import net.plil.clubinfo.etunicorn.app.FragmentNFC; @@ -93,7 +94,13 @@ public class EventFragment extends FragmentNFC { @Override public void processNFC(String idCardUser) { - + PaiementEvent paiementEvent = (PaiementEvent) getFragmentManager().findFragmentByTag("paiementEvent"); + if (paiementEvent == null){ + Toast.makeText(getContext(), R.string.payment_consumable_alert_no_selection, Toast.LENGTH_LONG).show(); + } + else { + paiementEvent.processNFC(); + } } /** diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java index 21ac801..c1a5af1 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/Event/ModifyEvent.java @@ -71,6 +71,7 @@ public class ModifyEvent extends DialogFragment { mProgressBar.setVisibility(View.VISIBLE); mPrice.setVisibility(View.GONE); mNom.setVisibility(View.GONE); + mDate.setVisibility(View.GONE); JSONObject jsonObject = new JSONObject(); try { jsonObject.put("nomEvenement", mNom.getText().toString()); diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java index 0ded4d9..83d8eb4 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/LoginActivity.java @@ -39,6 +39,7 @@ import com.android.volley.toolbox.JsonObjectRequest; import com.google.gson.Gson; import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.data.Permission; import net.plil.clubinfo.etunicorn.data.Personne; import net.plil.clubinfo.etunicorn.data.User; import net.plil.clubinfo.etunicorn.utils.VolleyUtils; @@ -176,9 +177,16 @@ public class LoginActivity extends AppCompatActivity { public void onResponse(JSONObject response) { showProgress(false); - Toast.makeText(getApplicationContext(), response.toString(), Toast.LENGTH_LONG).show(); - //Intent intent = new Intent(getApplicationContext(), MainActivity.class); - //startActivity(intent); + Toast.makeText(getApplicationContext(), response.toString(), Toast.LENGTH_LONG).show(); + Intent intent = new Intent(getApplicationContext(), MainActivity.class); + //TODO real interpretation when login work + //Personne p = new Gson().fromJson(String.valueOf(response), Personne.class); + Personne p = new Personne(); + Permission permission = new Permission(); + permission.setNom("ROLE_ADMIN"); + p.getRole().getPermissions().add(permission); + intent.putExtra("user", p); + startActivity(intent); } }, new Response.ErrorListener() { @Override @@ -186,12 +194,17 @@ public class LoginActivity extends AppCompatActivity { showProgress(false); Toast.makeText(getApplicationContext(), "error : " + error.getCause(), Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(), MainActivity.class); + + Personne p = new Personne(); + Permission permission = new Permission(); + permission.setNom("ROLE_ADMIN"); + p.getRole().getPermissions().add(permission); + intent.putExtra("user", p); + startActivity(intent); - // END } } ); - Toast.makeText(getApplicationContext(), new Gson().toJson(user), Toast.LENGTH_LONG).show(); } catch (JSONException e) { e.printStackTrace(); } 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 a98e2c8..8a1d83d 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 @@ -15,21 +15,29 @@ import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuItem; +import android.widget.Toast; import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.app.credit.Crediter; +import net.plil.clubinfo.etunicorn.app.debit.Debiter; 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.PersonneFragment; import net.plil.clubinfo.etunicorn.data.Consommation; import net.plil.clubinfo.etunicorn.data.Event; +import net.plil.clubinfo.etunicorn.data.Personne; import net.plil.clubinfo.etunicorn.utils.ConvertBytesToString; import java.util.ArrayList; import java.util.List; -public class MainActivity extends AppCompatActivity implements FragmentConsommation.OnListFragmentInteractionListener, EventFragment.OnListFragmentInteractionListener{ +public class MainActivity extends AppCompatActivity + implements FragmentConsommation.OnListFragmentInteractionListener, + EventFragment.OnListFragmentInteractionListener, + PersonneFragment.OnListFragmentInteractionListener{ /** * The {@link android.support.v4.view.PagerAdapter} that will provide @@ -41,6 +49,8 @@ public class MainActivity extends AppCompatActivity implements FragmentConsommat */ private SectionsPagerAdapter mSectionsPagerAdapter; + private int nbPages = 0; + /** * The {@link ViewPager} that will host the section contents. */ @@ -56,10 +66,34 @@ public class MainActivity extends AppCompatActivity implements FragmentConsommat @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); + + // 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(); + 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); + } else if (p.getRole().getPermissions().get(0).getNom().equals("ROLE_BAR")){ + nbPages = 3; + Action.CONSOMATION.setValue(2); + Action.EVENT.setValue(-1); + Action.PERSONNE.setValue(-1); + } else { + nbPages = 2; + } + + // config other stuff setContentView(R.layout.activity_main); appBarLayout = (AppBarLayout) findViewById(R.id.appbar); - toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -154,6 +188,16 @@ public class MainActivity extends AppCompatActivity implements FragmentConsommat } + @Override + public void onListFragmentInteraction(Personne personne) { + + } + + @Override + public void onListFragmentInteractionLong(Personne personne) { + + } + /** * A {@link FragmentPagerAdapter} that returns a fragment corresponding to * one of the sections/tabs/pages. @@ -174,13 +218,15 @@ public class MainActivity extends AppCompatActivity implements FragmentConsommat return FragmentConsommation.newInstance(); else if (position == Action.EVENT.getValue()) return EventFragment.newInstance(); + else if (position == Action.PERSONNE.getValue()) + return PersonneFragment.newInstance(); else return null; } @Override public int getCount() { - return 4; + return nbPages; } @Override @@ -193,14 +239,16 @@ public class MainActivity extends AppCompatActivity implements FragmentConsommat return "Consommation"; else if(position == Action.EVENT.getValue()) return getString(R.string.event); + else if(position == Action.PERSONNE.getValue()) + return getString(R.string.personne); return null; } } private enum Action { - DEBITER(0), CREDITER(1), CONSOMATION(2), EVENT(3); + DEBITER(0), CREDITER(1), CONSOMATION(2), EVENT(3), PERSONNE(4); - private final int value; + private int value; Action(int value) { this.value = value; } @@ -208,5 +256,9 @@ public class MainActivity extends AppCompatActivity implements FragmentConsommat public int getValue() { return value; } + + public void setValue(int value) { + this.value = value; + } } } diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/credit/Crediter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/credit/Crediter.java new file mode 100644 index 0000000..3e4761c --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/credit/Crediter.java @@ -0,0 +1,89 @@ +package net.plil.clubinfo.etunicorn.app.credit; + +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.EditText; +import android.widget.ProgressBar; + +import com.android.volley.Request; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.toolbox.JsonObjectRequest; + +import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.app.FragmentNFC; +import net.plil.clubinfo.etunicorn.utils.VolleyUtils; + +import org.json.JSONException; +import org.json.JSONObject; + +public class Crediter extends FragmentNFC { + + private EditText mMoneyEditText; + private ProgressBar mProgressBar; + + public Crediter() { + // Required empty public constructor + } + + public static Crediter newInstance() { + return new Crediter(); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_crediter, container, false); + mMoneyEditText = (EditText) view.findViewById(R.id.crediter_ask_money); + mProgressBar = (ProgressBar) view.findViewById(R.id.crediter_progress_bar); + return view; + } + + + + + @Override + public void onAttach(Context context) { + super.onAttach(context); + } + + @Override + public void onDetach() { + super.onDetach(); + } + + @Override + public void processNFC(String idCardUser) { + mProgressBar.setVisibility(View.VISIBLE); + JSONObject jsonObject = new JSONObject(); + try { + jsonObject.put("participant", 1); + jsonObject.put("acteur", 2); + jsonObject.put("prix", Double.parseDouble(mMoneyEditText.getText().toString())); + } catch (JSONException e){ + e.printStackTrace(); + } + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/debit" ,jsonObject , new Response.Listener() { + @Override + public void onResponse(JSONObject response) { + mProgressBar.setVisibility(View.GONE); + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + mProgressBar.setVisibility(View.GONE); + } + } + ); + + VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); + } +} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/debit/Debiter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/debit/Debiter.java new file mode 100644 index 0000000..351a369 --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/debit/Debiter.java @@ -0,0 +1,92 @@ +package net.plil.clubinfo.etunicorn.app.debit; + +import android.content.Context; +import android.os.Bundle; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.EditText; +import android.widget.ProgressBar; + +import com.android.volley.Request; +import com.android.volley.Response; +import com.android.volley.VolleyError; +import com.android.volley.toolbox.JsonObjectRequest; + +import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.app.FragmentNFC; +import net.plil.clubinfo.etunicorn.utils.VolleyUtils; + +import org.json.JSONException; +import org.json.JSONObject; + +public class Debiter extends FragmentNFC { + + + private EditText mMoneyEditText; + private ProgressBar mProgressBar; + + + public Debiter() { + // Required empty public constructor + + } + + public static Debiter newInstance() { + return new Debiter(); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + + + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_debiter, container, false); + mProgressBar = (ProgressBar) view.findViewById(R.id.debiter_progress); + mMoneyEditText = (EditText) view.findViewById(R.id.debiter_edit_text_money); + return view; + } + + @Override + public void onAttach(Context context) { + super.onAttach(context); + } + + @Override + public void onDetach() { + super.onDetach(); + } + + @Override + public void processNFC(String iDCardUser) { + mProgressBar.setVisibility(View.VISIBLE); + JSONObject jsonObject = new JSONObject(); + //TODO verifier champ complet avant de construire la requete + try { + jsonObject.put("participant", 1); + jsonObject.put("acteur", 2); + jsonObject.put("prix", Double.parseDouble(mMoneyEditText.getText().toString())); + } catch (JSONException e){ + e.printStackTrace(); + } + JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/transaction/debit" ,jsonObject , new Response.Listener() { + @Override + public void onResponse(JSONObject response) { + mProgressBar.setVisibility(View.GONE); + } + }, new Response.ErrorListener() { + @Override + public void onErrorResponse(VolleyError error) { + mProgressBar.setVisibility(View.GONE); + } + } + ); + + VolleyUtils.getInstance(getContext()).addToRequestQueue(jsonObjectRequest); + } +} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/MyPersonneRecyclerViewAdapter.java b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/MyPersonneRecyclerViewAdapter.java new file mode 100644 index 0000000..637a469 --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/MyPersonneRecyclerViewAdapter.java @@ -0,0 +1,120 @@ +package net.plil.clubinfo.etunicorn.app.personne; + +import android.content.Context; +import android.support.v7.app.AppCompatActivity; +import android.support.v7.widget.PopupMenu; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.MenuItem; +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.List; +import java.util.Locale; + +public class MyPersonneRecyclerViewAdapter extends RecyclerView.Adapter { + + private final List mValues; + private final PersonneFragment.OnListFragmentInteractionListener mListener; + private final Context context; + + + public MyPersonneRecyclerViewAdapter(List items, PersonneFragment.OnListFragmentInteractionListener listener, Context context) { + mValues = items; + mListener = listener; + this.context = context; + } + + @Override + public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { + View view = LayoutInflater.from(parent.getContext()) + .inflate(R.layout.fragment_personne, parent, false); + return new ViewHolder(view); + } + + @Override + public void onBindViewHolder(final ViewHolder holder, int position) { + holder.mItem = mValues.get(position); + holder.mLogin.setText(mValues.get(position).getLoginPoly()); + holder.mCarte.setText(mValues.get(position).getIdCarte()); + holder.mRole.setText(mValues.get(position).getRole().getName()); + holder.mSolde.setText(String.format(Locale.FRANCE, "%.2f", mValues.get(position).getSolde())); + + holder.mView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (null != mListener) { + mListener.onListFragmentInteraction(holder.mItem); + } + } + }); + + holder.mView.setOnLongClickListener(new View.OnLongClickListener() { + @Override + public boolean onLongClick(View v) { + mListener.onListFragmentInteractionLong(holder.mItem); + return true; + } + }); + + holder.mButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + final PopupMenu popup = new PopupMenu(v.getContext(), holder.mButton); + //inflating menu from xml resource + popup.inflate(R.menu.option_list); + //adding click listener + popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { + @Override + public boolean onMenuItemClick(MenuItem item) { + switch (item.getItemId()) { + case R.id.delete: + DeletePersonne deletePersonne = DeletePersonne.newInstance(holder.mItem); + deletePersonne.show(((AppCompatActivity) context).getSupportFragmentManager(), "deleteConsommation"); + break; + case R.id.modify: + ModifyPersonne modifyPersonne = ModifyPersonne.newInstance(holder.mItem); + modifyPersonne.show(((AppCompatActivity) context).getSupportFragmentManager(), "modifyConsommation"); + break; + } + return false; + } + }); + //displaying the popup + popup.show(); + } + }); + + } + + @Override + public int getItemCount() { + return mValues.size(); + } + + public class ViewHolder extends RecyclerView.ViewHolder { + public final View mView; + public final TextView mLogin; + public final TextView mCarte; + public final TextView mRole; + public final TextView mSolde; + public final TextView mButton; + public Personne mItem; + + public ViewHolder(View view) { + super(view); + mView = view; + mLogin = (TextView) view.findViewById(R.id.personne_login); + mCarte = (TextView) view.findViewById(R.id.personne_carte); + mRole = (TextView) view.findViewById(R.id.personne_role); + mSolde = (TextView) view.findViewById(R.id.personne_solde); + mButton = (TextView) view.findViewById(R.id.personne_options); + + + } + } +} 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 new file mode 100644 index 0000000..250a4da --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/app/personne/PersonneFragment.java @@ -0,0 +1,110 @@ +package net.plil.clubinfo.etunicorn.app.personne; + +import android.content.Context; +import android.os.Bundle; +import android.support.v7.widget.LinearLayoutManager; +import android.support.v7.widget.ListPopupWindow; +import android.support.v7.widget.RecyclerView; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; + +import net.plil.clubinfo.etunicorn.R; +import net.plil.clubinfo.etunicorn.app.FragmentNFC; +import net.plil.clubinfo.etunicorn.data.Personne; + +import java.sql.Date; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.List; + +/** + * A fragment representing a list of Items. + *

+ * Activities containing this fragment MUST implement the {@link OnListFragmentInteractionListener} + * interface. + */ +public class PersonneFragment extends FragmentNFC { + + private OnListFragmentInteractionListener mListener; + + /** + * Mandatory empty constructor for the fragment manager to instantiate the + * fragment (e.g. upon screen orientation changes). + */ + public PersonneFragment() { + } + + public static PersonneFragment newInstance() { + return new PersonneFragment(); + } + + @Override + public void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + } + + @Override + public View onCreateView(LayoutInflater inflater, ViewGroup container, + Bundle savedInstanceState) { + View view = inflater.inflate(R.layout.fragment_personne_list, container, false); + + // Set the adapter + Context context = view.getContext(); + RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.personne_list); + recyclerView.setLayoutManager(new LinearLayoutManager(context)); + + List personneList = new ArrayList<>(); + 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); + + recyclerView.setAdapter(new MyPersonneRecyclerViewAdapter(personneList, mListener, getActivity())); + } + return view; + } + + + @Override + public void onAttach(Context context) { + super.onAttach(context); + if (context instanceof OnListFragmentInteractionListener) { + mListener = (OnListFragmentInteractionListener) context; + } else { + throw new RuntimeException(context.toString() + + " must implement OnListFragmentInteractionListener"); + } + } + + @Override + public void onDetach() { + super.onDetach(); + mListener = null; + } + + @Override + public void processNFC(String idCardUser) { + + } + + /** + * This interface must be implemented by activities that contain this + * fragment to allow an interaction in this fragment to be communicated + * to the activity and potentially other fragments contained in that + * activity. + *

+ * See the Android Training lesson Communicating with Other Fragments for more information. + */ + public interface OnListFragmentInteractionListener { + // TODO: Update argument type and name + void onListFragmentInteraction(Personne personne); + void onListFragmentInteractionLong(Personne personne); + } +} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/data/Permission.java b/app/src/main/java/net/plil/clubinfo/etunicorn/data/Permission.java new file mode 100644 index 0000000..cd98435 --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/data/Permission.java @@ -0,0 +1,21 @@ +package net.plil.clubinfo.etunicorn.data; + +import java.io.Serializable; + +/** + * Created by badetitou on 04/02/2017. + */ +public class Permission implements Serializable { + private String nom; + + public Permission() { + } + + public String getNom() { + return nom; + } + + public void setNom(String nom) { + this.nom = nom; + } +} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/data/Role.java b/app/src/main/java/net/plil/clubinfo/etunicorn/data/Role.java new file mode 100644 index 0000000..2191193 --- /dev/null +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/data/Role.java @@ -0,0 +1,32 @@ +package net.plil.clubinfo.etunicorn.data; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by badetitou on 04/02/2017. + */ +public class Role implements Serializable{ + private List permissions = new ArrayList<>(); + private String name; + + public Role() { + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public List getPermissions() { + return permissions; + } + + public void setPermissions(List permissions) { + this.permissions = permissions; + } +} diff --git a/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java b/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java index b5d1cf9..f8a363e 100644 --- a/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java +++ b/app/src/main/java/net/plil/clubinfo/etunicorn/utils/VolleyUtils.java @@ -12,7 +12,7 @@ import com.android.volley.toolbox.Volley; public class VolleyUtils { - private static final String uri = "http://192.168.0.21:8080/"; + private static final String uri = "http://blablapatate"; private static final String version = "v1"; public static final String baseUri = VolleyUtils.uri + VolleyUtils.version ; diff --git a/app/src/main/res/layout/fragment_consomation_item.xml b/app/src/main/res/layout/fragment_consomation_item.xml index 29fa455..df31b91 100644 --- a/app/src/main/res/layout/fragment_consomation_item.xml +++ b/app/src/main/res/layout/fragment_consomation_item.xml @@ -35,6 +35,7 @@ android:id="@+id/consomation_options" android:layout_width="wrap_content" android:layout_height="match_parent" + android:paddingRight="@dimen/activity_horizontal_margin" android:layout_alignParentRight="true" android:layout_alignParentTop="true" android:paddingLeft="@dimen/activity_horizontal_margin" diff --git a/app/src/main/res/layout/fragment_crediter.xml b/app/src/main/res/layout/fragment_crediter.xml index e46ea66..4303bee 100644 --- a/app/src/main/res/layout/fragment_crediter.xml +++ b/app/src/main/res/layout/fragment_crediter.xml @@ -2,7 +2,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" - tools:context="net.plil.clubinfo.etunicorn.app.Crediter"> + tools:context="net.plil.clubinfo.etunicorn.app.credit.Crediter"> + tools:context="net.plil.clubinfo.etunicorn.app.debit.Debiter">