def createNewUser(self):
     # Create a new user!
     User.objects.create_user(
         email=self.email,
         password=self.password,
         username=self.username,
         first_name=self.firstName,
         last_name=self.lastName
         )
     # Now let's add some default content to this new user account.
     newUser = User.objects.get(email=self.email)
     # Let's create a new palette.
     newPalette = Palette(user=newUser, name='My Color Palette', order=0)
     newPalette.save()
     # Now let's create a few default colors for this new palette.
     newColorHexes = ['#5BC8EC', '#FEEC66', '#A0CE54', '#F26444', '#FF8436']
     for color in newColorHexes:
         newColor = newPalette.colors_set.create(palette=newPalette, color_hex=color, order=0)
         newColor.save()
 def createNewPalette(self):
     """
     This method will create a new palette for the appropriate user_id.
     JSON Web Token is used to identify which user_id to create the new palette for.
     """
     decoded_jwt = jwt.decode(self.jwt, settings.SECRET_KEY, algorithms=['HS256'])
     """
     We need to find out which palette of all palettes within this user account has the highest order, that way
     the newly created palette is automatically placed on the bottom of the palette list on the user front.
     """
     paletteWithGreatestOrder = Palette.objects.all().filter(user=decoded_jwt['user_id']).order_by('-order')[:1]
     if len(paletteWithGreatestOrder) == 0:
         # This will run if user has absolutely no palettes.
         userInstance = User.objects.get(pk=decoded_jwt['user_id'])
         newPalette = Palette(user=userInstance,name='New Palette',order=0)
         newPalette.save()
     else:
         greatestOrder = paletteWithGreatestOrder[0].order
         userInstance = User.objects.get(pk=decoded_jwt['user_id'])
         newPalette = Palette(user=userInstance,name='New Palette',order=int(greatestOrder)+1)
         newPalette.save()