def create_groups(user):
  #Try to create groups if the database has been created.
  try:
    #Check for the supervisor group.
    Supervisor = Group.objects.filter(name__iexact="Supervisor")
    if not Supervisor:
      #Create the Supervisor group.
      Supervisor = Group(name = "Supervisor")
      Supervisor.save()
      print "Creating Supervisor group."
    else:
      Supervisor = Supervisor.all()[0]
      #We have already created the supervisor group.
      print "Supervisor group already created."

    #Check for the ProgramManager group.
    ProgramManager = Group.objects.filter(name__iexact="Program Manager")
    if not ProgramManager:
      #Create the ProgramManager group.
      ProgramManager = Group(name = "Program Manager")
      ProgramManager.save()
      print "Creating Program Manager group."
    else:
      ProgramManager = ProgramManager.all()[0]
      #We have already created the ProgramManager group.
      print "Program Manager group already created."

    #Check for the Guest group.
    Guest = Group.objects.filter(name__iexact="Guest")
    if not Guest:
      #Create the Guest group.
      Guest = Group(name = "Guest")
      Guest.save()
      print "Creating Guest group."
    else:
      Guest = Guest.all()[0]
      #We have already created the Guest group.
      print "Guest group already created."

    user.groups.add(Supervisor,ProgramManager)

  except:
    print "Issue with group install, try syncing the db."