Skip to content
Snippets Groups Projects
Commit 0c723968 authored by darshanxyz's avatar darshanxyz
Browse files

Added the ability to change the flag value in the OD class of the Firebase database

parent 276e46e1
No related branches found
No related tags found
No related merge requests found
......@@ -53,7 +53,7 @@
<ConfirmationsSetting value="0" id="Add" />
<ConfirmationsSetting value="0" id="Remove" />
</component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/build/classes" />
</component>
<component name="ProjectType">
......
......@@ -19,9 +19,11 @@ 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 {
......@@ -43,10 +45,17 @@ public class MainActivity extends AppCompatActivity {
DatabaseReference roll_no;
DatabaseReference email;
DatabaseReference advisor;
DatabaseReference od;
DatabaseReference od_child_child;
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
......@@ -62,7 +71,7 @@ public class MainActivity extends AppCompatActivity {
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());
......@@ -74,14 +83,32 @@ public class MainActivity extends AppCompatActivity {
student.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for(DataSnapshot dsp : dataSnapshot.getChildren()){
if (dsp.getKey().toString().equals("Advisor")) {
list1.add(String.valueOf(dsp.getValue()));
Log.e("E-MAIL ", String.valueOf(dsp.getValue()));
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) {
......@@ -102,14 +129,63 @@ public class MainActivity extends AppCompatActivity {
}
});
}
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) {
}
public void onClickFromDatePicker(View view) {
@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();
}
......@@ -149,6 +225,10 @@ public class MainActivity extends AppCompatActivity {
}
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();
......@@ -158,18 +238,52 @@ public class MainActivity extends AppCompatActivity {
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()){
if (dsp.getKey().equals(mAuth.getCurrentUser().getUid())) {
od_child_child = od.child(str).child(mAuth.getCurrentUser().getUid());
od_child_child.setValue(1);
}
}
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setData(Uri.parse("mailto:"));
}
@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);
// 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);
......
......@@ -27,6 +27,7 @@ import com.google.firebase.database.Query;
import com.google.firebase.database.ValueEventListener;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
public class RollNumber extends AppCompatActivity implements AdapterView.OnItemSelectedListener{
......@@ -35,6 +36,9 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
private EditText rollNumber;
private Spinner advisors;
List<String> list = new ArrayList<String>();
List<String> lst = new ArrayList<String>();
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference root;
......@@ -45,8 +49,7 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
DatabaseReference email;
DatabaseReference advisor;
List<String> list = new ArrayList<String>();
List<String> lst = new ArrayList<String>();
HashMap <String,String> adv_map = new HashMap <String, String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
......@@ -74,6 +77,7 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
list.add(String.valueOf(dsp.getKey())); //add result into array list
Log.e("VALUE: ", String.valueOf(dsp.getKey()));
}
Log.e("LISTSIZE", String.valueOf(list.size()));
}
@Override
......@@ -82,17 +86,20 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
}
});
ArrayAdapter adapter = ArrayAdapter.createFromResource(this, R.array.advisors, android.R.layout.simple_spinner_dropdown_item);
advisors.setAdapter(adapter);
advisors.setOnItemSelectedListener(this);
adv.addChildEventListener(new ChildEventListener() {
int i = 0;
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
for(DataSnapshot dsp : dataSnapshot.getChildren()){
lst.add(String.valueOf(dsp.getValue()));
Log.e("EMAILS: ", String.valueOf(dsp.getValue()));
// adv_map.put(String.valueOf(dsp.getValue()), list.get(1));
// ++i;
}
}
......@@ -116,6 +123,7 @@ public class RollNumber extends AppCompatActivity implements AdapterView.OnItemS
}
});
Log.e("LSTSIZE", String.valueOf(lst.size()));
// SharedPreferences preferences = getSharedPreferences("ActivityPREF", Context.MODE_PRIVATE);
//
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment