CreatePersonne.java 3.83 KB
package net.plil.clubinfo.etunicorn.app.personne;

import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v4.app.DialogFragment;
import android.support.v7.app.AlertDialog;
import android.view.LayoutInflater;
import android.view.View;
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.utils.VolleyUtils;

import org.json.JSONException;
import org.json.JSONObject;


public class CreatePersonne extends DialogFragment {

    EditText mLogin;
    EditText mCarte;
    EditText mNaissance;
    EditText mRole;
    ProgressBar mProgressBar;


    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        // Use the Builder class for convenient dialog construction
        LayoutInflater inflater = getActivity().getLayoutInflater();
        View view = inflater.inflate(R.layout.fragment_create_personne, null);
        mLogin = (EditText) view.findViewById(R.id.create_personne_login);
        mCarte = (EditText) view.findViewById(R.id.create_personne_carte);
        mRole = (EditText) view.findViewById(R.id.create_personne_role);
        mNaissance = (EditText) view.findViewById(R.id.create_personne_naissance);
        mProgressBar = (ProgressBar) view.findViewById(R.id.create_personne_progress_bar);
        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
        builder
                .setTitle(R.string.create_personne)
                .setView(view)
                .setPositiveButton(R.string.valid, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {

                        mProgressBar.setVisibility(View.VISIBLE);
                        mLogin.setVisibility(View.GONE);
                        mCarte.setVisibility(View.GONE);
                        mNaissance.setVisibility(View.GONE);
                        JSONObject jsonObject = new JSONObject();
                        try {
                            jsonObject.put("login", mLogin.getText().toString());
                            jsonObject.put("carte", mCarte.getText().toString());
                            jsonObject.put("role", mRole.getText().toString());
                            jsonObject.put("naissance", mNaissance.getText().toString());
                        } catch (JSONException e){
                            e.printStackTrace();
                        }
                        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, VolleyUtils.baseUri + "/personne"   ,jsonObject , new Response.Listener<JSONObject>() {
                            @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);
                    }
                })
                .setNegativeButton(R.string.cancel, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        // User cancelled the dialog
                    }
                });
        // Create the AlertDialog object and return it
        return builder.create();
    }


}