def medical_settings_reasons_new(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate reason = MedicalReason() if self.request.method == 'POST': reason.title = self.request.POST.get('title').strip() reason.description = self.request.POST.get('description').strip() if reason.title != '': DBSession.add(reason) DBSession.flush() self.request.session.flash(_(u"Reason created."), 'success') return HTTPFound(location='/medical/settings/') else: self.request.session.flash(_(u"Please provide title."), 'error') self.request.bread.append({'url':'/medical/', 'text':_('Medical')}) self.request.bread.append({'url':'/medical/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/medical/settings/reasons/new/', 'text':_('New reason')}) return {'reason':reason}
def settings_organization_club_edit(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate tmp_club = { 'name':'', 'short_name':'', 'leader_id':'', 'subunit_id':0, 'club_code':'', } club_id = self.request.matchdict['club_id'] club = DBSession.query(Club).filter(Club.id==club_id).first() if club.id: tmp_club = { 'name':club.name, 'short_name':club.short_name, 'leader_id':club.leader_id, 'subunit_id':club.subunit_id, 'club_code':club.club_code } if self.request.method == 'POST': tmp_club['name'] = self.request.POST.get('name').strip() tmp_club['short_name'] = self.request.POST.get('short_name').strip() #tmp_club['leader_id'] = self.request.POST.get('leader_id').strip() tmp_club['leader_id'] = 0 tmp_club['subunit_id'] = self.request.POST.get('subunit_id').strip() tmp_club['club_code'] = self.request.POST.get('club_code').strip() if tmp_club['name']: club.name = tmp_club['name'] club.short_name = tmp_club['short_name'] club.leader_id = tmp_club['leader_id'] club.subunit_id = tmp_club['subunit_id'] club.club_code = tmp_club['club_code'] DBSession.add(club) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'Club' userAudit.model_id = club.id userAudit.action = 'Update' userAudit.revision = club.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Club saved."), 'success') return HTTPFound(location='/settings/organization/') else: self.request.session.flash(_(u"Please provide club name."), 'error') subunits = DBSession.query(SubUnit).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/organization/', 'text':_('Organization')}) self.request.bread.append({'url':'/settings/organization/club_edit/'+club_id+'/', 'text':_('Edit club')}) return {'club':tmp_club, 'subunits':subunits}
def medical_settings_treatmenttypes_edit(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate treatmenttype_id = self.request.matchdict['treatmenttype_id'] treatmenttype = DBSession.query(MedicalTreatmentType).filter(MedicalTreatmentType.id==treatmenttype_id).first() if self.request.method == 'POST': treatmenttype.title = self.request.POST.get('title').strip() treatmenttype.description = self.request.POST.get('description').strip() if treatmenttype.title != '': DBSession.add(treatmenttype) DBSession.flush() self.request.session.flash(_(u"Treatmenttype saved."), 'success') return HTTPFound(location='/medical/settings/') else: self.request.session.flash(_(u"Please provide title."), 'error') self.request.bread.append({'url':'/medical/', 'text':_('Medical')}) self.request.bread.append({'url':'/medical/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/medical/settings/treatmenttypes/new/', 'text':_('Edit treatmenttype')}) return {'treatmenttype':treatmenttype}
def security_shifts_new(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate shift = SecurityShift() if self.request.method == "POST": shift.starts = helpers.parseFinnishDateFromString(self.request.POST.get("starts").strip()) shift.ends = helpers.parseFinnishDateFromString(self.request.POST.get("ends").strip()) # shift.leader_id = helpers.decodeString(self.request.POST.get('leader_id').strip()) shift.notes = helpers.decodeString(self.request.POST.get("notes").strip()) if type(shift.starts) is datetime and type(shift.ends) is datetime and shift.starts < shift.ends: DBSession.add(shift) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = "SecurityShift" userAudit.model_id = shift.id userAudit.action = "Create" userAudit.revision = shift.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Shift created."), "success") return HTTPFound(location="/security/shifts/view/" + str(shift.id) + "/") else: self.request.session.flash(_(u"Error creating shift. Shift ends before it begins."), "error") self.request.bread.append({"url": "/security/", "text": _("Security")}) self.request.bread.append({"url": "/security/shifts/", "text": _("Shifts")}) self.request.bread.append({"url": "/security/shifts/new/", "text": _("Create")}) return {"shift": shift}
def medical_settings_methodofarrivals_edit(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate methodofarrival_id = self.request.matchdict['methodofarrival_id'] methodofarrival = DBSession.query(MedicalMethodOfArrival).filter(MedicalMethodOfArrival.id==methodofarrival_id).first() if self.request.method == 'POST': methodofarrival.title = self.request.POST.get('title').strip() methodofarrival.description = self.request.POST.get('description').strip() if methodofarrival.title != '': DBSession.add(methodofarrival) DBSession.flush() self.request.session.flash(_(u"MethodOfArrival saved."), 'success') return HTTPFound(location='/medical/settings/') else: self.request.session.flash(_(u"Please provide title."), 'error') self.request.bread.append({'url':'/medical/', 'text':_('Medical')}) self.request.bread.append({'url':'/medical/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/medical/settings/methodofarrivals/new/', 'text':_('Edit methodofarrival')}) return {'methodofarrival':methodofarrival}
def security_shifts_logitem_delete(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate logitem_id = self.request.matchdict["logitem_id"] logitem = DBSession.query(SecurityLogItem).filter(SecurityLogItem.id == logitem_id).first() if logitem != None: logitem.deleted = True DBSession.add(logitem) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = "SecurityLogItem" userAudit.model_id = logitem.id userAudit.action = "Deleted" userAudit.revision = logitem.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Log item deleted."), "success") return HTTPFound(location="/security/shifts/view/" + str(logitem.shift_id) + "/") self.request.session.flash(_(u"Error finding logitem to delete."), "Error") return HTTPFound(location="/security/shifts/view/" + str(logitem.shift_id) + "/")
def settings_users_deactivate(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate user_id = self.request.matchdict['user_id'] if user_id != 1: user = DBSession.query(User).get(user_id) user.active = 0 user.metadata_modified = datetime.now() DBSession.add(user) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'User' userAudit.model_id = user.id userAudit.action = 'Deactivated' userAudit.revision = user.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"User deactivated."), 'success') return HTTPFound(location='/settings/users/')
def settings_groups_view(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate group_id = self.request.matchdict['group_id'] group = DBSession.query(Group).filter(Group.id==group_id).first() if group.id: # privilege_ids = [privilege.id for privilege in group.privileges] tmp_group = { 'id':group.id, 'name':group.name, 'leader_id':group.leader_id, 'privileges':group.privileges } privileges = DBSession.query(Privilege).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/groups/', 'text':_('Groups')}) self.request.bread.append({'url':'/settings/groups/view/'+str(group.id)+'/', 'text':_('View') + ' ' + helpers.decodeString(group.name)}) return {'group':tmp_group, 'privileges':privileges} else: return HTTPFound(location='/settings/groups/')
def login(self): _ = self.request.translate browser_error = checkBrowser(self.request) device_error = checkDevice(self.request) login = '' if self.request.method == 'POST': if self.request.POST.get('login') \ and self.request.POST.get('password') \ and self.request.POST.get('login').strip() != '' \ and self.request.POST.get('password').strip() != '': login = self.request.POST.get('login') password = self.request.POST.get('password') user = DBSession.query(User).filter(User.username==login).first() if ( user is not None and user.active and user.validate_password(password, user.password)): headers = security.remember(self.request, user.id) self.request.session.flash(_(u"Welcome, ${username}! You are logged in.", mapping={'username':user.username}), 'success') userLogin = UserLogin(user_id = user.id, ip = self.request.client_addr, user_agent = self.request.user_agent) DBSession.add(userLogin) DBSession.flush() self.request.session['user_login_id'] = userLogin.id if userhelpers.checkUserPasswordChangeNeed(self.request, user): return HTTPFound(location='/settings/me/edit/', headers=headers) return HTTPFound(location='/', headers=headers) self.request.session.flash(_(u"Login failed."), 'error') else: self.request.session.flash(_(u"Login failed. Please provide username and password."), 'error') return {'login':login, 'browser_error':browser_error, 'device_error':device_error}
def settings_new(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate # TODO: Errors errors = {} tmp_setting = {"setting_key": "", "setting_value": ""} if self.request.method == "POST": tmp_setting["setting_key"] = self.request.POST.get("setting_key").strip() tmp_setting["setting_value"] = self.request.POST.get("setting_value") if tmp_setting["setting_key"] and tmp_setting["setting_key"] != "": if not self.checkIfSettignKeyExists(tmp_setting["setting_key"]): setting = Setting(tmp_setting["setting_key"], tmp_setting["setting_value"]) DBSession.add(setting) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = "Setting" userAudit.model_id = setting.id userAudit.action = "Create" userAudit.revision = setting.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Setting created."), "success") return HTTPFound(location="/settings/list/") else: self.request.session.flash(_(u"Setting with same key exists allready."), "error") else: self.request.session.flash(_(u"Please provide key."), "error") self.request.bread.append({"url": "/settings/", "text": _("Settings")}) self.request.bread.append({"url": "/settings/list/", "text": _("List")}) self.request.bread.append({"url": "/settings/new/", "text": _("New")}) return {"setting": tmp_setting}
def medical_card_view(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate card_id = self.request.matchdict['card_id'] medicalCard = DBSession.query(MedicalCard).filter(MedicalCard.id==card_id).first() participant_id = medicalCard.participant_id participant = DBSession.query(Participant).filter(Participant.id==participant_id).first() participant.getParticipantMedicalData() medicalCardEvents = DBSession.query(MedicalCardEvent).filter(MedicalCardEvent.card_id==card_id).order_by(MedicalCardEvent.event_time).all() medicalParticipantAdditional = DBSession.query(MedicalParticipantAdditional).filter(MedicalParticipantAdditional.participant_id==participant_id).first() reasons = DBSession.query(MedicalReason).order_by(MedicalReason.title).all() treatmenttypes = DBSession.query(MedicalTreatmentType).order_by(MedicalTreatmentType.title).all() methodsofarrival = DBSession.query(MedicalMethodOfArrival).order_by(MedicalMethodOfArrival.title).all() participant_cards = DBSession.query(MedicalCard).filter(MedicalCard.participant_id==participant_id).all() self.request.bread.append({'url':'/medical/', 'text':_('Medical')}) self.request.bread.append({'url':'/medical/card/view/'+str(card_id)+'/', 'text':_('View card')}) return {'medicalCard':medicalCard, 'participant':participant, 'medicalParticipantAdditional':medicalParticipantAdditional, 'medicalCardEvents':medicalCardEvents, 'reasons':reasons, 'treatmenttypes':treatmenttypes, 'methodsofarrival':methodsofarrival, 'participant_cards':participant_cards}
def medical_frontpage(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate self.request.bread.append({'url':'/medical/', 'text':_('Medical')}) return {}
def security_frontpage(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate self.request.bread.append({"url": "/security/", "text": _("Security")}) return {}
def settings_organization_village_edit(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate tmp_village = { 'name':'', 'short_name':'', 'leader_id':'', 'subcamp_id':0, } village_id = self.request.matchdict['village_id'] village = DBSession.query(Village).filter(Village.id==village_id).first() subcamps = DBSession.query(Subcamp).all() if village.id: tmp_village = { 'name':village.name, 'short_name':village.short_name, 'leader_id':village.leader_id, 'subcamp_id':village.subcamp_id, } if self.request.method == 'POST': tmp_village['name'] = self.request.POST.get('name').strip() tmp_village['short_name'] = self.request.POST.get('short_name').strip() #tmp_village['leader_id'] = self.request.POST.get('leader_id').strip() tmp_village['leader_id'] = 0 tmp_village['subcamp_id'] = self.request.POST.get('subcamp_id').strip() if tmp_village['name']: village.name = tmp_village['name'] village.short_name = tmp_village['short_name'] village.leader_id = tmp_village['leader_id'] village.subcamp_id = tmp_village['subcamp_id'] DBSession.add(village) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'Village' userAudit.model_id = village.id userAudit.action = 'Update' userAudit.revision = village.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Village saved."), 'success') return HTTPFound(location='/settings/organization/') else: self.request.session.flash(_(u"Please provide village name."), 'error') self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/organization/', 'text':_('Organization')}) self.request.bread.append({'url':'/settings/organization/village_edit/'+village_id+'/', 'text':_('Edit village')}) return {'village':tmp_village, 'subcamps':subcamps}
def frontpage(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate return {}
def security_list(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate shifts = DBSession.query(SecurityShift).order_by(SecurityShift.starts).all() self.request.bread.append({"url": "/security/", "text": _("Security")}) self.request.bread.append({"url": "/security/shifts/", "text": _("Shifts")}) return {"shifts": shifts}
def settings_list(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate settings = DBSession.query(Setting).order_by(Setting.setting_key).all() self.request.bread.append({"url": "/settings/", "text": _("Settings")}) self.request.bread.append({"url": "/settings/list/", "text": _("List")}) return {"settings": settings}
def settings_groups_frontpage(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate groups = DBSession.query(Group).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/groups/', 'text':_('Groups')}) return {'groups':groups}
def settings_organization_frontpage(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate subcamps = DBSession.query(Subcamp).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/organization/', 'text':_('Organization')}) return {'subcamps':subcamps}
def settings_users_frontpage(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate users = DBSession.query(User).order_by(User.active.desc(), User.lastname, User.firstname, User.username).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/users/', 'text':_('Users')}) return {'users':users}
def medical_card_list(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate cards = DBSession.query(MedicalCard).all() return {'cards':cards}
def settings_edit(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate # TODO: Errors errors = {} tmp_setting = {"setting_key": "", "setting_value": "", "locked_key": False} setting_id = self.request.matchdict["setting_id"] setting = DBSession.query(Setting).filter(Setting.id == setting_id).first() if setting.id: tmp_setting = { "setting_key": setting.setting_key, "setting_value": setting.setting_value, "locked_key": setting.locked_key, } if self.request.method == "POST": if not setting.locked_key: tmp_setting["setting_key"] = self.request.POST.get("setting_key").strip() else: tmp_setting["setting_key"] = setting.setting_key tmp_setting["setting_value"] = self.request.POST.get("setting_value") if tmp_setting["setting_key"] and tmp_setting["setting_key"] != "": if not self.checkIfSettignKeyExists(tmp_setting["setting_key"], setting.id): setting.setting_key = tmp_setting["setting_key"] setting.setting_value = tmp_setting["setting_value"] DBSession.add(setting) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = "Setting" userAudit.model_id = setting.id userAudit.action = "Update" userAudit.revision = setting.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Setting saved."), "success") return HTTPFound(location="/settings/list/") else: self.request.session.flash(_(u"Setting with same key exists allready."), "error") else: self.request.session.flash(_(u"Please provide key."), "error") self.request.bread.append({"url": "/settings/", "text": _("Settings")}) self.request.bread.append({"url": "/settings/list/", "text": _("List")}) self.request.bread.append( {"url": "/settings/edit/" + setting_id + "/", "text": _("Edit") + " " + setting.setting_key} ) return {"setting": tmp_setting}
def settings_organization_subcamp_edit(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate tmp_subcamp = { 'name':'', 'short_name':'', 'leader_id':'', } subcamp_id = self.request.matchdict['subcamp_id'] subcamp = DBSession.query(Subcamp).filter(Subcamp.id==subcamp_id).first() if subcamp.id: tmp_subcamp = { 'name':subcamp.name, 'short_name':subcamp.short_name, 'leader_id':subcamp.leader_id, } if self.request.method == 'POST': tmp_subcamp['name'] = self.request.POST.get('name').strip() tmp_subcamp['short_name'] = self.request.POST.get('short_name').strip() #tmp_subcamp['leader_id'] = self.request.POST.get('leader_id').strip() tmp_subcamp['leader_id'] = 0 if tmp_subcamp['name']: subcamp.name = tmp_subcamp['name'] subcamp.short_name = tmp_subcamp['short_name'] subcamp.leader_id = int(tmp_subcamp['leader_id']) DBSession.add(subcamp) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'Subcamp' userAudit.model_id = subcamp.id userAudit.action = 'Update' userAudit.revision = subcamp.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Subcamp saved."), 'success') return HTTPFound(location='/settings/organization/') else: self.request.session.flash(_(u"Please provide subcamp name."), 'error') self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/organization/', 'text':_('Organization')}) self.request.bread.append({'url':'/settings/organization/subcamp_edit/'+subcamp_id+'/', 'text':_('Edit subcamp')}) return {'subcamp':tmp_subcamp}
def medical_settings(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate reasons = DBSession.query(MedicalReason).order_by(MedicalReason.title).all() treatmenttypes = DBSession.query(MedicalTreatmentType).order_by(MedicalTreatmentType.title).all() methodsofarrival = DBSession.query(MedicalMethodOfArrival).order_by(MedicalMethodOfArrival.title).all() self.request.bread.append({'url':'/medical/', 'text':_('Medical')}) self.request.bread.append({'url':'/medical/settings/', 'text':_('Settings')}) return {'reasons':reasons, 'treatmenttypes':treatmenttypes, 'methodsofarrival':methodsofarrival}
def settings_organization_village_kitchen_new(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate tmp_village_kitchen = { 'name':'', 'short_name':'', 'leader_id':'', 'subcamp_id':0, 'village_ids':[] } subcamps = DBSession.query(Subcamp).all() villages = DBSession.query(Village).all() if self.request.method == 'POST': tmp_village_kitchen['name'] = self.request.POST.get('name').strip() tmp_village_kitchen['short_name'] = self.request.POST.get('short_name').strip() #tmp_village_kitchen['leader_id'] = self.request.POST.get('leader_id').strip() tmp_village_kitchen['leader_id'] = 0 tmp_village_kitchen['subcamp_id'] = self.request.POST.get('subcamp_id').strip() if tmp_village_kitchen['name']: village_kitchen = VillageKitchen() village_kitchen.name = tmp_village_kitchen['name'] village_kitchen.short_name = tmp_village_kitchen['short_name'] village_kitchen.leader_id = tmp_village_kitchen['leader_id'] village_kitchen.subcamp_id = tmp_village_kitchen['subcamp_id'] village_kitchen.villages = DBSession.query(Village).filter(Village.id.in_(self.request.POST.getall('villages'))).all() DBSession.add(village_kitchen) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'VillageKitchen' userAudit.model_id = village_kitchen.id userAudit.action = 'Create' userAudit.revision = village_kitchen.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Village kitchen created."), 'success') return HTTPFound(location='/settings/organization/') else: self.request.session.flash(_(u"Please provide village_kitchen name."), 'error') self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/organization/', 'text':_('Organization')}) self.request.bread.append({'url':'/settings/organization/village_kitchen_new/', 'text':_('New village_kitchen')}) return {'village_kitchen':tmp_village_kitchen, 'subcamps':subcamps, 'villages':villages}
def security_shifts_view(self): if self.request.redirect_forbidden: return HTTPFound(location="/forbidden/") elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location="/settings/me/edit/") _ = self.request.translate shift_id = self.request.matchdict["shift_id"] shift = DBSession.query(SecurityShift).filter(SecurityShift.id == shift_id).first() if self.request.method == "POST": logitem = SecurityLogItem() logitem.event_type = self.request.POST.get("event_type") logitem.shift_id = shift_id logitem.notified_by = self.request.POST.get("notified_by") logitem.task = self.request.POST.get("task") logitem.content = self.request.POST.get("content") logitem.deleted = False logitem.people_present = self.request.POST.get("people_present") logitem.started = helpers.parseFinnishDateFromString(self.request.POST.get("started"), default_now=True) logitem.ended = helpers.parseFinnishDateFromString(self.request.POST.get("ended")) DBSession.add(logitem) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = "SecurityLogItem" userAudit.model_id = logitem.id userAudit.action = "Create" userAudit.revision = logitem.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Log item created."), "success") return HTTPFound(location="/security/shifts/view/" + shift_id + "/") logitems = ( DBSession.query(SecurityLogItem) .filter(SecurityLogItem.shift_id == shift_id, SecurityLogItem.deleted == False) .order_by(SecurityLogItem.started.desc()) .all() ) self.request.bread.append({"url": "/security/", "text": _("Security")}) self.request.bread.append({"url": "/security/shifts/", "text": _("Shifts")}) self.request.bread.append({"url": "/security/shifts/view/" + shift_id + "/", "text": _("View")}) return {"shift": shift, "logitems": logitems}
def kitchen_frontpage(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate if self.request.method == 'POST' and self.request.POST.get('date') != None and self.request.POST.get('date').strip() != '': day = helpers.parseFinnishDateFromString(self.request.POST.get('date').strip()) else: day = datetime.date.today() subcamps = DBSession.query(Subcamp).all() first_day = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'camp_first_day').first() last_day = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'camp_last_day').first() eating_times_breakfast = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_breakfast').first() eating_times_lunch = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_lunch').first() eating_times_dinner = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_dinner').first() eating_times_supper = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_supper').first() start_dt = helpers.parseFinnishDateFromString(first_day[1]) end_dt = helpers.parseFinnishDateFromString(last_day[1]) day_count = (end_dt - start_dt).days + 1 dates = [] dates.append(day) days = { 'start_dt':start_dt, 'end_dt':end_dt, 'dates':dates } eating_times = { 'eating_times_breakfast':eating_times_breakfast[1], 'eating_times_lunch':eating_times_lunch[1], 'eating_times_dinner':eating_times_dinner[1], 'eating_times_supper':eating_times_supper[1], } self.request.bread.append({'url':'/kitchen/', 'text':_('Kitchen')}) return {'day':day,'subcamps':subcamps, 'days':days, 'eating_times':eating_times}
def settings_groups_new(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate tmp_group = { 'name':'', 'leader_id':'', 'privileges':'', } if self.request.method == 'POST': tmp_group['name'] = self.request.POST.get('name').strip() # tmp_group['leader_id'] = self.request.POST.get('leader_id').strip() if not self.checkIfGroupnameExists(tmp_group['name']): group = Group(tmp_group['name']) if security.has_permission("settings_users_modify_permissions", self.request.context, self.request): privileges_list = '' if len(self.request.POST.getall('privileges')) > 0: for privilege in DBSession.query(Privilege).filter(Privilege.id.in_(self.request.POST.getall('privileges'))).all(): privileges_list += '|'+privilege.name + '|' group.privileges = privileges_list DBSession.add(group) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'Group' userAudit.model_id = group.id userAudit.action = 'Create' userAudit.revision = group.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Group created."), 'success') if group.id != '' and group.id != 0: return HTTPFound(location='/settings/groups/view/'+str(group.id)) else: self.request.session.flash(_(u"Group with that name allready exists."), 'error') privileges = DBSession.query(Privilege).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/groups/', 'text':_('Groups')}) self.request.bread.append({'url':'/settings/groups/new/', 'text':_('New')}) return {'group':tmp_group, 'privileges':privileges}
def settings_organization_subunit_new(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate tmp_subunit = { 'name':'', 'short_name':'', 'leader_id':'', 'village_id':0, } if self.request.method == 'POST': tmp_subunit['name'] = self.request.POST.get('name').strip() tmp_subunit['short_name'] = self.request.POST.get('short_name').strip() #tmp_subunit['leader_id'] = self.request.POST.get('leader_id').strip() tmp_subunit['leader_id'] = 0 tmp_subunit['village_id'] = self.request.POST.get('village_id').strip() if tmp_subunit['name']: subunit = SubUnit() subunit.name = tmp_subunit['name'] subunit.short_name = tmp_subunit['short_name'] subunit.leader_id = tmp_subunit['leader_id'] subunit.village_id = tmp_subunit['village_id'] DBSession.add(subunit) DBSession.flush() userAudit = UserAudit(self.request.user.id) userAudit.model = 'SubUnit' userAudit.model_id = subunit.id userAudit.action = 'Create' userAudit.revision = subunit.metadata_revision DBSession.add(userAudit) DBSession.flush() self.request.session.flash(_(u"Subunit created."), 'success') return HTTPFound(location='/settings/organization/') else: self.request.session.flash(_(u"Please provide subunit name."), 'error') villages = DBSession.query(Village).all() self.request.bread.append({'url':'/settings/', 'text':_('Settings')}) self.request.bread.append({'url':'/settings/organization/', 'text':_('Organization')}) self.request.bread.append({'url':'/settings/organization/subunit_new/', 'text':_('New subunit')}) return {'subunit':tmp_subunit, 'villages':villages}
def kitchen_frontpage_all(self): if self.request.redirect_forbidden: return HTTPFound(location='/forbidden/') elif userhelpers.checkUserPasswordChangeNeed(self.request): return HTTPFound(location='/settings/me/edit/') _ = self.request.translate subcamps = DBSession.query(Subcamp).all() first_day = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'camp_first_day').first() last_day = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'camp_last_day').first() eating_times_breakfast = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_breakfast').first() eating_times_lunch = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_lunch').first() eating_times_dinner = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_dinner').first() eating_times_supper = DBSession.query(Setting).with_entities(Setting.setting_key, Setting.setting_value).filter(Setting.setting_key == 'eating_times_supper').first() start_dt = helpers.parseFinnishDateFromString(first_day[1]) end_dt = helpers.parseFinnishDateFromString(last_day[1]) day_count = (end_dt - start_dt).days + 1 dates = [] for single_date in (start_dt + timedelta(n) for n in range(day_count)): dates.append(single_date) days = { 'start_dt':start_dt, 'end_dt':end_dt, 'dates':dates } eating_times = { 'eating_times_breakfast':eating_times_breakfast[1], 'eating_times_lunch':eating_times_lunch[1], 'eating_times_dinner':eating_times_dinner[1], 'eating_times_supper':eating_times_supper[1], } self.request.bread.append({'url':'/kitchen/', 'text':_('Kitchen')}) return {'subcamps':subcamps, 'days':days, 'eating_times':eating_times}