Example #1
0
def createChemical(data):
    """Creates chemical based on input from user."""
    try:
        modelData, extraData = sortPost(
            data, Chemicals)  #Only get relevant data for the current Model
        if modelData['sdsLink'] == None:
            modelData[
                'sdsLink'] = 'https://msdsmanagement.msdsonline.com/af807f3c-b6be-4bd0-873b-f464c8378daa/ebinder/?SearchTerm=%s' % (
                    modelData['casNum'])
        elif modelData['sdsLink'][0:8] != 'https://' and modelData['sdsLink'][
                0:7] != 'http://':
            modelData['sdsLink'] = 'https://' + modelData['sdsLink']
        modelData['name'] = modelData['name'].upper()
        try:
            newChem = (Chemicals.get(name=modelData['name']), True
                       )  #True because it could get the chemical
        except:
            newChem = (
                Chemicals.create(**modelData), False
            )  #Create instance of Chemical with mapped info in modelData False, because it couldn't get the chemical
        if newChem[1]:
            print modelData
            Chemicals.update(**modelData).where(
                Chemicals.name == newChem[0].name).execute()
            newChem[0].remove = False
            newChem[0].save()
        return (True, "Chemical Created Successfully!",
                "list-group-item list-group-item-success", newChem[0])
    except Exception as e:
        print e
        return (False, "Chemical Could Not Be Created.",
                "list-group-item list-group-item-danger", None)
Example #2
0
def createFloor(data):
    try:
        modelData, extraData = sortPost(data, Floors)
        floor = Floors.create(**modelData)
        return (True, floor.name + " was Successfully Created",
                "list-group-item list-group-item-success", floor)
    except Exception as e:
        return (False, "Floor Could Not Be Added to System",
                "list-group-item list-group-item-danger", None)
def createWasteItem(data):
  """Creates chemical based on input from user."""
  try:
    modelData, extraData = sortPost(data, Wastecontents) #Only get relevant data for the current Model
    wItem = Wastecontents.create(**modelData)

    return(True, "Waste Item Created Successfully!", "list-group-item list-group-item-success", wItem)
  except Exception as e:
    print e
    return(False, "Waste Item Could Not Be Created.", "list-group-item list-group-item-danger", None)
def createRoom(data):
    try:
        modelData, extraData = sortPost(data, Rooms)
        room = Rooms.create(**modelData)
        lastRoomId = Rooms.select().order_by(-Rooms.rId).get().rId
        application.models.storagesModel.Storages.create(
            roomId=
            lastRoomId,  # This isn't letting me import Storages or storagesModel. I think it is because that file in turn imports this one.
            name=modelData['name'],
            flammable=True,
            healthHazard=True,
            oxidizer=True,
            orgAcid=True,
            inorgAcid=True,
            base=True,
            peroxide=True,
            pressure=True)
        return (True, room.name + " was Successfully Added to System",
                "list-group-item list-group-item-success", room)
    except Exception as e:
        return (False, "Room could not be Added to System",
                "list-group-item list-group-item-danger", None)
Example #5
0
def createUser(data, createdBy, approval, authLevel="systemUser"):
    """Used to check containers in and out

    Args:
        data (dict): A dictionary with keys for each field in users, and values for a specific user instance
        createdBy (str): Username of the user that has accessed the page that calls this function
        approval (bool): True for admin, False for superUser
    Returns:
        tuple:
            element[0]: Message to flash to user
            element[1]: Formatting for the flash message
    """ #should return something else for unit testing later
    modelData, extraData = sortPost(data, Users)
    modelData['approve'] = approval
    modelData['username'] = modelData['username'].lower()
    modelData['created_by'] = createdBy
    modelData['created_date'] = datetime.date.today()
    if 'auth_level' not in modelData:
        modelData['auth_level'] = authLevel
    # Peewee has a get_or_create function. Would that be more useful than putting this in a try/except?
    if modelData['end_date'] <= datetime.date.today():
        return (
            "Error: User could not be added. End Date must be later than today.",
            'list-group-item list-group-item-danger')
    try:
        user = Users.create(**modelData)
        return (True, "Success: " + user.first_name + " " + user.last_name +
                " added successfully.",
                'list-group-item list-group-item-success')
    except Exception as e:
        if e.message == "UNIQUE constraint failed: users.username":  #If User Already In system
            return (False,
                    "Error: " + modelData['username'] + " Already In System",
                    "list-group-item list-group-item-danger")
        return (False, "Error: User could not be added.",
                'list-group-item list-group-item-danger')