Skip to content
Snippets Groups Projects
Select Git revision
  • 982d6abab6419987c5808338c38b808191052697
  • master default protected
2 results

graphs.py

Blame
  • MainActivity.java 10.37 KiB
    package com.darshanbshah.odsystem;
    
    import android.app.AlertDialog;
    import android.app.DatePickerDialog;
    import android.content.DialogInterface;
    import android.content.Intent;
    import android.net.Uri;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.DatePicker;
    import android.widget.EditText;
    import android.widget.FrameLayout;
    import android.widget.TextView;
    import android.widget.Toast;
    
    import com.google.firebase.auth.FirebaseAuth;
    import com.google.firebase.database.ChildEventListener;
    import com.google.firebase.database.DataSnapshot;
    import com.google.firebase.database.DatabaseError;
    import com.google.firebase.database.DatabaseReference;
    import com.google.firebase.database.FirebaseDatabase;
    import com.google.firebase.database.ValueEventListener;
    
    import java.util.ArrayList;
    import java.util.Calendar;
    import java.util.HashMap;
    import java.util.List;
    
    public class MainActivity extends AppCompatActivity {
    
        private FirebaseAuth mAuth;
        private TextView welcomeText;
        Calendar calendar = Calendar.getInstance();
        TextView from, to;
        FrameLayout frameLayout;
        EditText reason;
        String reasonString, fromDate, toDate, full;
        Boolean fullDay = false;
    
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        DatabaseReference root;
        DatabaseReference student;
        DatabaseReference adv;
        DatabaseReference id;
        DatabaseReference roll_no;
        DatabaseReference email;
        DatabaseReference advisor;
        DatabaseReference od, od_flag, od_from, od_to, od_reason, od_full_day;
    
        RollNumber r = new RollNumber();
    
        String recepient = "";
    
        List<String> list1 = new ArrayList<String>();
        List<String> list_adv_name = new ArrayList<String>();
        List<String> list_adv_email = new ArrayList<String>();
        HashMap<String, String> adv_details = new HashMap<String, String>();
    
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mAuth = FirebaseAuth.getInstance();
    
            root = database.getReference();
            student = root.child("Student");
            adv = root.child("Advisors");
            id = student.child(mAuth.getCurrentUser().getUid());
            roll_no = id.child("RollNumber");
            email = id.child("Email");
            advisor = id.child("Advisor");
            od = root.child("OD");
    
            welcomeText = (TextView)findViewById(R.id.welcomeText);
            welcomeText.setText("Welcome " + mAuth.getCurrentUser().getEmail());
            from = (TextView)findViewById(R.id.fromDateTV);
            to = (TextView)findViewById(R.id.toDateTV);
            frameLayout = (FrameLayout) findViewById(R.id.hours_frame_layout);
            reason = (EditText)findViewById(R.id.reasonEditText);
    
            student.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    for(final DataSnapshot d : dataSnapshot.getChildren()){
                        student.addValueEventListener(new ValueEventListener() {
                            @Override
                            public void onDataChange(DataSnapshot ds) {
                                for(DataSnapshot dsp : ds.getChildren()){
                                    if (dsp.getKey().toString().equals(mAuth.getCurrentUser().getUid()))  {
                                        if (d.getKey().toString().equals("Advisor")) {
                                            list1.add(String.valueOf(d.getValue()));
                                            Log.e("E-MAIL of Adv ", String.valueOf(d.getValue()));
                                        }
    
                                    }
    
                                }
                            }
    
                            @Override
                            public void onCancelled(DatabaseError databaseError) {
    
                            }
                        });
    
                    }
    
                }
    
                @Override
                public void onChildChanged(DataSnapshot dataSnapshot, String s) {
    
                }
    
                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {
    
                }
    
                @Override
                public void onChildMoved(DataSnapshot dataSnapshot, String s) {
    
                }
    
                @Override
                public void onCancelled(DatabaseError databaseError) {
    
                }
            });
        }
    
    
    
    
        public void onClickFromDatePicker(View view) {
            for (int i = 0; i < list_adv_name.size(); i++) {
                list_adv_name.remove(i);
            }
            adv.addValueEventListener(new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    for (DataSnapshot data : dataSnapshot.getChildren()) {
                        list_adv_name.add(data.getKey().toString());
                    }
                }
    
                @Override
                public void onCancelled(DatabaseError databaseError) {
    
                }
            });
    
            for (int i = 0; i < list_adv_email.size(); i++) {
                list_adv_email.remove(i);
            }
    
            adv.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    for (DataSnapshot data : dataSnapshot.getChildren()) {
                        if (data.getKey().toString().equals("Email")) {
                            list_adv_email.add(data.getValue().toString());
                        }
                    }
                }
    
                @Override
                public void onChildChanged(DataSnapshot dataSnapshot, String s) {
    
                }
    
                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {
    
                }
    
                @Override
                public void onChildMoved(DataSnapshot dataSnapshot, String s) {
    
                }
    
                @Override
                public void onCancelled(DatabaseError databaseError) {
    
                }
            });
            new DatePickerDialog(this, fromListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
        }
    
        DatePickerDialog.OnDateSetListener fromListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                from.setText(dayOfMonth + "/" + (month + 1) + "/" + year);
            }
        };
    
        public void onClickToDatePicker(View view) {
            new DatePickerDialog(this, toListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
        }
    
        DatePickerDialog.OnDateSetListener toListener = new DatePickerDialog.OnDateSetListener() {
            @Override
            public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
                to.setText(dayOfMonth + "/" + (month + 1) + "/" + year);
            }
        };
    
        public void onFullDayClick(View view) {
            if(frameLayout != null) {
                frameLayout.setVisibility(View.INVISIBLE);
            }
            fullDay = true;
    
        }
    
        public void onHoursClick(View view) {
            android.support.v4.app.FragmentManager manager = getSupportFragmentManager();
            android.support.v4.app.FragmentTransaction transaction = manager.beginTransaction();
            HoursFragment hoursFragment = new HoursFragment();
            frameLayout.setVisibility(View.VISIBLE);
            transaction.add(R.id.hours_frame_layout, hoursFragment);
            transaction.commit();
            fullDay = false;
        }
    
        public void onRequestClick(View view) {
            for (int i = 0; i < list_adv_name.size(); i++) {
                adv_details.put(list_adv_email.get(i), list_adv_name.get(i));
            }
    
            reasonString = reason.getText().toString();
            fromDate = from.getText().toString();
            toDate = to.getText().toString();
            if (fullDay == true) {
                full = "Yes";
            }
            else {
                full = "No";
            }
            final String str = adv_details.get(list1.get(0));
    
            od.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    for(DataSnapshot dsp : dataSnapshot.getChildren()){
                        Log.e("DSP_KEY", dsp.getValue().toString());
                        od_flag = od.child(str).child(mAuth.getCurrentUser().getUid()).child("flag");
                        od_from = od.child(str).child(mAuth.getCurrentUser().getUid()).child("from");
                        od_to = od.child(str).child(mAuth.getCurrentUser().getUid()).child("to");
                        od_reason = od.child(str).child(mAuth.getCurrentUser().getUid()).child("reason");
                        od_full_day = od.child(str).child(mAuth.getCurrentUser().getUid()).child("full day");
    
                        od_flag.setValue(1);
                        od_from.setValue(fromDate);
                        od_to.setValue(toDate);
                        od_reason.setValue(reasonString);
                        od_full_day.setValue(full);
                    }
                    reason.setText("");
                    from.setText("");
                    to.setText("");
    
                }
    
                @Override
                public void onChildChanged(DataSnapshot dataSnapshot, String s) {
    
                }
    
                @Override
                public void onChildRemoved(DataSnapshot dataSnapshot) {
    
                }
    
                @Override
                public void onChildMoved(DataSnapshot dataSnapshot, String s) {
    
                }
    
                @Override
                public void onCancelled(DatabaseError databaseError) {
    
                }
            });
    
    //        recepient = list1.get(0);
    //
    //        Intent intent = new Intent(Intent.ACTION_SEND);
    //        intent.setData(Uri.parse("mailto:"));
    //
    //        Log.e("Recepient", recepient);
    //        intent.putExtra(Intent.EXTRA_EMAIL, recepient);
    //        intent.putExtra(Intent.EXTRA_SUBJECT, "OD Request");
    //        intent.putExtra(Intent.EXTRA_TEXT, "Reason: " + reasonString + '\n' + "From: " + fromDate + '\n' + "To: " + toDate + '\n' + "Full day: " + full);
    //        intent.setType("message/rfc822");
    //        Intent chooser = Intent.createChooser(intent, "Send email");
    //        startActivity(chooser);
    
    
            Log.e("DATA: ", reasonString + ", " + fromDate + ", " + toDate + ", " + full);
        }
    
        public void signOut(View view) {
            mAuth.signOut();
            startActivity(new Intent(this, Login.class));
            finish();
        }
    }