public void onSubmitClick(View v) { // Validate and Save the resource mProgressBar.setVisibility(View.VISIBLE); String errorMessage = validateResource(); if (!Strings.isNullOrEmpty(errorMessage)) { showError(errorMessage); mProgressBar.setVisibility(View.GONE); return; } mSubmitButton.setEnabled(false); switch (mResourceType) { case Constants.ANNOUNCEMENT_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new Announcement() : ParseObject.createWithoutData(Announcement.class, mResourceObjectId); ((Announcement) mResourceObject).setAnnouncementText(mDescriptionText.getText().toString()); ((Announcement) mResourceObject).setIsActive(mActiveStatus.isChecked()); Announcement.saveAnnouncement((Announcement) mResourceObject, onResourceSave()); break; case Constants.CATEGORY_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new Category() : ParseObject.createWithoutData(Category.class, mResourceObjectId); ((Category) mResourceObject).setCategoryName(mTitleText.getText().toString()); ((Category) mResourceObject).setDescription(mDescriptionText.getText().toString()); ((Category) mResourceObject).setCategoryColor(mColorHexText.getText().toString()); ((Category) mResourceObject).setIsActive(mActiveStatus.isChecked()); try { Category.saveCategory((Category) mResourceObject, onResourceSave()); } catch (ParseException ex) { } break; case Constants.RECOGNITION_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new Recognition() : ParseObject.createWithoutData(Recognition.class, mResourceObjectId); ((Recognition) mResourceObject).setTitle(mTitleText.getText().toString()); ((Recognition) mResourceObject).setDescription(mDescriptionText.getText().toString()); ((Recognition) mResourceObject) .setPointsRequired(Integer.parseInt(mRecogReqPtsText.getText().toString())); ((Recognition) mResourceObject) .setMaxUnits(Integer.parseInt(mRecogMaxUnitsText.getText().toString())); ((Recognition) mResourceObject).setIsHoursBased(mRecognitionUnit.isChecked()); ((Recognition) mResourceObject) .setRecognitionType(String.valueOf(mRecognitionTypeSpinner.getSelectedItem())); // TODO: Set logo ////// ((Recognition)mResourceObject).getLogo(); ((Recognition) mResourceObject).setIsActive(mActiveStatus.isChecked()); Recognition.saveRecognition((Recognition) mResourceObject, onResourceSave()); break; case Constants.INTEREST_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new Interest() : ParseObject.createWithoutData(Interest.class, mResourceObjectId); ((Interest) mResourceObject).setInterestTitle(mTitleText.getText().toString()); ((Interest) mResourceObject).setDescription(mDescriptionText.getText().toString()); // TODO: Set logo ////// ((Interest)mResourceObject).getLogo(); ((Interest) mResourceObject).setIsActive(mActiveStatus.isChecked()); Interest.saveInterest((Interest) mResourceObject, onResourceSave()); break; case Constants.SKILL_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new Skill() : ParseObject.createWithoutData(Skill.class, mResourceObjectId); ((Skill) mResourceObject).setSkillTitle(mTitleText.getText().toString()); ((Skill) mResourceObject).setDescription(mDescriptionText.getText().toString()); // TODO: Set logo // ((Skill)mResourceObject).setLogo(); ((Skill) mResourceObject).setIsActive(mActiveStatus.isChecked()); Skill.saveSkill((Skill) mResourceObject, onResourceSave()); break; case Constants.USER_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new SpecialUser() : ParseObject.createWithoutData(SpecialUser.class, mResourceObjectId); ((SpecialUser) mResourceObject).setEmailId(mTitleText.getText().toString()); ((SpecialUser) mResourceObject).setRole(String.valueOf(mUserRoleSpinner.getSelectedItem())); ((SpecialUser) mResourceObject) .setOrganizationName(String.valueOf(mUserOrgSpinner.getSelectedItem())); ((SpecialUser) mResourceObject).setIsActive(mActiveStatus.isChecked()); SpecialUser.saveSpecialUser((SpecialUser) mResourceObject, onResourceSave()); break; case Constants.SCHOOL_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new School() : ParseObject.createWithoutData(School.class, mResourceObjectId); ((School) mResourceObject).setSchoolName(mTitleText.getText().toString()); ((School) mResourceObject).setDescription(mDescriptionText.getText().toString()); // TODO: Set logo // ((School)mResourceObject).setLogo(); ((School) mResourceObject).setIsActive(mActiveStatus.isChecked()); School.saveSchool((School) mResourceObject, onResourceSave()); break; case Constants.GROUP_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new InterestGroup() : ParseObject.createWithoutData(InterestGroup.class, mResourceObjectId); ((InterestGroup) mResourceObject).setGroupName(mTitleText.getText().toString()); ((InterestGroup) mResourceObject) .setGroupDescription(mDescriptionText.getText().toString()); // TODO: Set logo // ((InterestGroup)mResourceObject).setLogo(); ((InterestGroup) mResourceObject).setIsActive(mActiveStatus.isChecked()); InterestGroup.saveGroup((InterestGroup) mResourceObject, onResourceSave()); // TODO: Add members break; case Constants.ORGANIZATION_RESOURCE: mResourceObject = Strings.isNullOrEmpty(mResourceObjectId) ? new Organization() : ParseObject.createWithoutData(Organization.class, mResourceObjectId); ((Organization) mResourceObject).setOrganizationName(mTitleText.getText().toString()); ((Organization) mResourceObject).setDescription(mDescriptionText.getText().toString()); // TODO: Set logo // ((Organization)mResourceObject).setLogo(); ((Organization) mResourceObject).setIsActive(mActiveStatus.isChecked()); Organization.saveOrganization((Organization) mResourceObject, onResourceSave()); break; default: mResourceObject.saveInBackground( new SaveCallback() { @Override public void done(ParseException e) { Snackbar snackbar = Snackbar.make( mSaveResourceForm, R.string.msg_data_success, Snackbar.LENGTH_LONG); snackbar.show(); } }); } mProgressBar.setVisibility(View.GONE); }
private void loadPageContent() { if (!CheckNetworkConnection.isInternetAvailable(this)) { showToastLong(R.string.internet_connection_unavailable); VolunteerUser userFromDataStore = VolunteerUser.getCurrentUserInformationFromLocalStore(); if (userFromDataStore == null) { Intent errorIntent = new Intent(this, ErrorMessageActivity.class); errorIntent.putExtra( Constants.ERROR_ITEM_KEY, getResources().getString(R.string.internet_connection_unavailable)); startActivity(errorIntent); return; } // User available from local datastore if (!userFromDataStore.isEmailVerified()) { displayError(userFromDataStore.getEmail()); return; } if (!userFromDataStore.isProfileComplete()) { Intent errorIntent = new Intent(this, ErrorMessageActivity.class); String errorMessage = getResources().getString(R.string.incomplete_profile_no_internet); errorIntent.putExtra(Constants.ERROR_ITEM_KEY, errorMessage); startActivity(errorIntent); return; } // Start Main Activity Intent mainIntent = new Intent(this, MainActivity.class); mainIntent.putExtra(Constants.INTENT_SENDER, "intro"); mainIntent.putExtra(Constants.INTERNET_AVAILABLE, false); startActivity(mainIntent); } // currentUser final ParseUser currentParseUser = ParseUser.getCurrentUser(); if (currentParseUser == null) { startActivity(DispatchActivity.class); return; } final VolunteerUser currentUser = VolunteerUser.getCurrentUserInformation(currentParseUser); currentUser.pinInBackground(); if (!currentUser.isEmailVerified()) { displayError(currentUser.getEmail()); return; } if (!currentUser.isProfileComplete()) { showToastLong(R.string.help_us_know_you); startActivity(ProfileActivitySimple.class); } else { try { UserCategoryPoints.unpinAll(Constants.CURRENT_USER_POINTS); Category.unpinAll(Constants.CATEGORY_RESOURCE); } catch (ParseException e) { e.printStackTrace(); } Category.pinAllInBackground(Constants.CATEGORY_RESOURCE, Category.getAllCategories(true)); mUserPoints = 0; mUserHours = 0; mUserRank = 5; mCurrentAnnouncements = Joiner.on("|").join(Announcement.getAllAnnouncementText()); mTotalUsers = VolunteerUser.getTotalUserCount(); mTotalUserHours = DateUtils.minutesToHoursRepresentation( CommonUtils.sum(UserCategoryPoints.findMinutesForAllUsers(), 0)); try { List<VolunteerUser> rankedUsers = VolunteerUser.findUsersRanked(); mUserRank = rankedUsers.indexOf(currentUser); } catch (ParseException e) { e.printStackTrace(); } UserCategoryPoints.findCurrentUserPointsInBackground( currentParseUser, 0, new FindCallback<UserCategoryPoints>() { @Override public void done(List<UserCategoryPoints> list, ParseException e) { if (e == null) { UserCategoryPoints.pinAllInBackground(Constants.CURRENT_USER_POINTS, list); for (UserCategoryPoints item : list) { mUserPoints += item.getCategoryPoints(); mUserHours += item.getCategoryMinutes(); } } else { e.getMessage(); } startMainActivity(); } }); } }