diff --git a/.gradle/7.3/executionHistory/executionHistory.bin b/.gradle/7.3/executionHistory/executionHistory.bin index ef2d1cf..4b779d9 100644 Binary files a/.gradle/7.3/executionHistory/executionHistory.bin and b/.gradle/7.3/executionHistory/executionHistory.bin differ diff --git a/.gradle/7.3/executionHistory/executionHistory.lock b/.gradle/7.3/executionHistory/executionHistory.lock index ea803fd..1a29de4 100644 Binary files a/.gradle/7.3/executionHistory/executionHistory.lock and b/.gradle/7.3/executionHistory/executionHistory.lock differ diff --git a/.gradle/7.3/fileHashes/fileHashes.bin b/.gradle/7.3/fileHashes/fileHashes.bin index f828d2f..2842cbc 100644 Binary files a/.gradle/7.3/fileHashes/fileHashes.bin and b/.gradle/7.3/fileHashes/fileHashes.bin differ diff --git a/.gradle/7.3/fileHashes/fileHashes.lock b/.gradle/7.3/fileHashes/fileHashes.lock index a6631f2..078045f 100644 Binary files a/.gradle/7.3/fileHashes/fileHashes.lock and b/.gradle/7.3/fileHashes/fileHashes.lock differ diff --git a/.gradle/7.3/fileHashes/resourceHashesCache.bin b/.gradle/7.3/fileHashes/resourceHashesCache.bin index 5853239..e9b4984 100644 Binary files a/.gradle/7.3/fileHashes/resourceHashesCache.bin and b/.gradle/7.3/fileHashes/resourceHashesCache.bin differ diff --git a/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/.gradle/buildOutputCleanup/buildOutputCleanup.lock index bdb023a..e063cec 100644 Binary files a/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ diff --git a/.idea/misc.xml b/.idea/misc.xml index 1cbfbf1..37235f5 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -120,6 +120,8 @@ + + diff --git a/app/src/main/java/com/nuryadincjr/merdekabelanja/adminacitvity/AddStaffsActivity.java b/app/src/main/java/com/nuryadincjr/merdekabelanja/adminacitvity/AddStaffsActivity.java index c50e647..4d5ac5e 100644 --- a/app/src/main/java/com/nuryadincjr/merdekabelanja/adminacitvity/AddStaffsActivity.java +++ b/app/src/main/java/com/nuryadincjr/merdekabelanja/adminacitvity/AddStaffsActivity.java @@ -36,7 +36,6 @@ import com.nuryadincjr.merdekabelanja.databinding.ActivityAddStafsBinding; import com.nuryadincjr.merdekabelanja.interfaces.ItemClickListener; import com.nuryadincjr.merdekabelanja.models.Staffs; -import com.nuryadincjr.merdekabelanja.models.Users; import com.nuryadincjr.merdekabelanja.pojo.ImagesPreference; import com.nuryadincjr.merdekabelanja.viewmodel.MainViewModel; @@ -53,6 +52,7 @@ public class AddStaffsActivity extends AppCompatActivity { private Staffs staffs; private boolean isEdit; private String imageOld; + private String emailOld; private List uriImageList; @Override @@ -89,6 +89,7 @@ private String getEdited(String titleBar) { if(isEdit) { staffs = getIntent().getParcelableExtra(NAME_DATA); imageOld = staffs.getPhoto(); + emailOld = staffs.getEmail(); onDataSet(staffs); binding.btnRegister.setText("Save Data"); titleBar = "Edit Staff"; @@ -170,18 +171,20 @@ private void getInputValidations() { String address = valueOf(binding.etAddress.getText()); String division = valueOf(binding.actDevisions.getText()); - if(!fullName.isEmpty() && !phone.isEmpty() && !email.isEmpty() && - !password.isEmpty() && !confpassword.isEmpty() && !division.isEmpty()) { - if(password.length() > 7) { - if(password.equals(confpassword)){ - Staffs staffs = new Staffs(id, fullName, phone, email, photo, address, email, - password, time(), "register", division); + if(phone.contains("+")){ + if(!fullName.isEmpty() && !phone.isEmpty() && !email.isEmpty() && + !password.isEmpty() && !confpassword.isEmpty() && !division.isEmpty()) { + if(password.length() > 7) { + if(password.equals(confpassword)){ + Staffs staffs = new Staffs(id, fullName, phone, email, photo, address, email, + password, time(), "register", division); - onRegister(staffs); + onRegister(staffs); - } else binding.etPassword.setError("Password cannot equals!"); - } else binding.etConfPassword.setError("Password too short!"); - } else Toast.makeText(this,"Empty credentials!", Toast.LENGTH_SHORT).show(); + } else binding.etPassword.setError("Password cannot equals!"); + } else binding.etConfPassword.setError("Password too short!"); + } else Toast.makeText(this,"Empty credentials!", Toast.LENGTH_SHORT).show(); + }else binding.etPhone.setError("Please used the country code!"); } private void onRegister(Staffs staffs) { @@ -255,6 +258,22 @@ private void onDataUpdated(Staffs staffs) { } private void startDataUpdated(Staffs staffs) { + MainViewModel mainViewModel = new ViewModelProvider(this).get(MainViewModel.class); + mainViewModel.getUsername(staffs.getUsername()).observe(this, user -> { + if(user.size() ==0){ + getDataUpdated(staffs); + }else { + if(user.get(0).getUsername().equals(emailOld)){ + getDataUpdated(staffs); + }else { + dialog.dismiss(); + binding.etEmail.setError("The email for the login session with this username already exists!"); + } + } + }); + } + + private void getDataUpdated(Staffs staffs) { new StaffsRepository().updateStaffs(staffs).addOnSuccessListener(documentReference -> { Log.d(TAG, "DocumentSnapshot added with ID: " + documentReference); dialog.dismiss(); diff --git a/app/src/main/res/layout/activity_add_stafs.xml b/app/src/main/res/layout/activity_add_stafs.xml index 590ef9a..48647b2 100644 --- a/app/src/main/res/layout/activity_add_stafs.xml +++ b/app/src/main/res/layout/activity_add_stafs.xml @@ -56,6 +56,7 @@ android:layout_height="wrap_content" android:layout_marginTop="10dp" android:hint="@string/str_phone_number" + app:helperText="ex: +62xxxxxxxx" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox">