示例#1
0
 def __init__(self, parent):
     """! The constructor."""
     QWidget.__init__(self)
     
     self._context = parent.getContext()
     self._lng = self._context.getLanguage()
     
     # Extend the widget with all attributes and children from UI file
     loadUi(R.layouts.modif_account_widget, self)
     
     self.select_user_label.setText(R.values.strings.select_user(self._lng))
     self.current_password_label.setText(R.values.strings.current_password(self._lng))
     self.check_password_button.setText(R.values.strings.ok(self._lng))
     self.access_rights_label.setText(R.values.strings.access_rights(self._lng))
     self.new_password_label.setText(R.values.strings.new_password(self._lng))
     self.confirm_password_label.setText(R.values.strings.confirm_password(self._lng))
     self.modif_user_account_button.setText(R.values.strings.ok(self._lng))
     
     self.new_password_edit.setEchoMode(QLineEdit.Password)
     self.confirm_new_password_edit.setEchoMode(QLineEdit.Password)
     
     self._accounts = UserAccounts()
     self.user_selected = User()
     self.user_dst = User()
     
     self.users_list_combo.addItems(self._accounts.user_list())
     self.users_list_combo.currentIndexChanged.connect(self.update_user_info)
     
     self.connect(self.modif_user_account_button, SIGNAL("clicked()"),
                   self.modif_user_account)
     
     self.connect(self.check_password_button, SIGNAL("clicked()"),
                  self.check_password)
     
     self.current_password_edit.textChanged[str].connect(self.current_password_changed)
示例#2
0
class TestCredentials(unittest.TestCase):
    '''
    Test class that defines test cases for the credentials class behaviours.

    Args:
        unittest.TestCase: TestCase class that helps in creating test cases
    '''

    # self,first_name,last_name,user_name, user_password)

    def test_check_user(self):
        '''
		Function to test whether the login in function check_user works as expected.
		'''
        self.new_user = User("Loise", "Mwangi", "tcmwangi", "peppermint")
        self.new_user.save_user()
        user2 = User("Ian", "Kabugi", "iankabugi", "laptop")
        user2.save_user()

        for user in User.users_list:
            if user.first_name == user2.first_name and user.user_password == user2.password:
                this_user = user.first_name
        return this_user

        self.assertEqual(
            this_user, Credentials.check_user(user2.password,
                                              user2.first_name))
示例#3
0
		def test_save_user_many_times(self):
				"""
				test_save_account_many_times sees if we can save many contacts to our list
				"""
				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()
				self.assertEqual(len(User.user_list),2)		
示例#4
0
 def test_save_multiple_users(self):
     '''
     test_save_multiple_users to check if we can save multiple users
     objects to our user_list
     '''
     self.new_user.save_user()
     test_user = User("Test", "user", "tc-mwangi",
                      "peppermint92!")  # new user
     test_user.save_user()
     self.assertEqual(len(User.user_list), 2)
示例#5
0
		def test_delete_user(self):
				"""
				method tests whether we can delete a user account form our user list
				"""
				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()

				self.new_user.delete_user()
				self.assertEqual(len(User.user_list),1)
示例#6
0
		def test_user_exists(self):
				"""
				test to see if a user account exists
				"""

				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()

				user_exists = User.user_exist("*****@*****.**","gerrard01")
				self.assertTrue(user_exists)
示例#7
0
		def test_get_user(self):
				"""
				test to check if you can find a user by their email and password
				"""

				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()

				login_user = User.find_by("*****@*****.**","gerrard01")
				self.assertEqual(login_user.email,test_user.email)
示例#8
0
class TestUser(unittest.TestCase):
    '''
    Test class that defines test cases for the user class behaviours.

    Args:
        unittest.TestCase: TestCase class that helps in creating test cases
    '''
    def setUp(self):
        '''
        Set up method to run before each test cases.
        '''
        self.new_user = User("Loise", "Mwangi", "tc-mwangi",
                             "peppermint92!")  # create user object

    # test1-create user account
    def test_init(self):
        '''
        test_init test case to test if the object is initialized properly
        '''

        self.assertEqual(self.new_user.first_name, "loise")
        self.assertEqual(self.new_user.last_name, "mwangi")
        self.assertEqual(self.new_user.user_name, "tcmwangi")
        self.assertEqual(self.new_user.user_password, "peppermint")

    # test2-save user
    def test_save_user(self):
        '''
        test_save_user test case to test if the user object is saved into
         the user_list.
        '''
        self.new_user.save_user()  # saving the new user
        self.assertEqual(len(User.user_list), 1)

    # test3-save multiple users
    def tearDown(self):
        '''
        tearDown method that cleans up after each test case has run.
        '''
        User.user_list = []

    def test_save_multiple_users(self):
        '''
        test_save_multiple_users to check if we can save multiple users
        objects to our user_list
        '''
        self.new_user.save_user()
        test_user = User("Test", "user", "tc-mwangi",
                         "peppermint92!")  # new user
        test_user.save_user()
        self.assertEqual(len(User.user_list), 2)
示例#9
0
 def modif_user_account(self):
     """! Check fields and modify user account."""
     
     user_modified = User(self.user_selected.getUserId())
     
     if self.access_rights_combo.currentIndex() == 0:
         
         msg_box = QAgiMessageBox()
         msg_box.setText(R.values.strings.select_access_rights(self._lng))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
     elif self.new_password_edit.text() != \
          self.confirm_new_password_edit.text():
         
         msg_box = QAgiMessageBox()
         msg_box.setText(R.values.strings.passwords_different(self._lng))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
     else:
         user_modified.privilege = Privilege.TOLEVEL[self.access_rights_combo.currentText().lower()]
         user_modified.setUserPassword(self.new_password_edit.text())
     
     try:
         
         self._accounts.modif(self.user_selected, user_modified)
     except Exception as e:
         
         msg_box = QAgiMessageBox()
         msg_box.setText(str(e))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
         
     msg_box = QAgiMessageBox()
     msg_box.setText(R.values.strings.user_mv_success(self._lng))
     msg_box.setIcon(QAgiMessageBox.Information)
     msg_box.setStandardButtons(QAgiMessageBox.Ok)
     msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
     msg_box.exec_()
     
     self.users_list_combo.setCurrentIndex(0)
     self.init_fields()
示例#10
0
    def __init__(self):
        self.__xrandr_gsettings = deepin_gsettings.new(
            "org.gnome.settings-daemon.plugins.xrandr")
        new_brightness = self.__xrandr_gsettings.get_double("brightness")
        if new_brightness > 0.1:
            self.__xrandr_gsettings.set_double("brightness", new_brightness)

        self.gui = Gui()
        self.dbus_user = User(DBUS_USER_STR)
        self.dialog = TrayDialog()

        self.resource_dict = {
            "deepin_shutdown": {
                "info_text": SHUTDOWN_TEXT,
                "ok_text": _("Shut down"),
                "force_ok_text": _("Force shut down"),
                "ok_exec": self.gui.cmd_dbus.new_stop,
            },
            "deepin_restart": {
                "info_text": RESTART_TEXT,
                "ok_text": _("Restart"),
                "force_ok_text": _("Force restart"),
                "ok_exec": self.gui.cmd_dbus.new_restart,
            },
            "deepin_suspend": {
                "info_text": SUSPEND_TEXT,
                "ok_text": _("Suspend"),
                "force_ok_text": _("Force suspend"),
                "ok_exec": self.gui.cmd_dbus.suspend,
            },
            "deepin_hibernate": {
                "info_text": LOGOUT_TEXT,
                "ok_text": _("Log out"),
                "force_ok_text": _("Force log out"),
                "ok_exec": lambda: self.gui.cmd_dbus.logout(1),
            },
        }

        self.gui.stop_btn.connect("clicked", self.check_system_app_running,
                                  'deepin_shutdown')
        self.gui.restart_btn.connect("clicked", self.check_system_app_running,
                                     'deepin_restart')
        self.gui.suspend_btn.connect("clicked", self.check_system_app_running,
                                     'deepin_suspend')
        self.gui.logout_btn.connect("clicked", self.check_system_app_running,
                                    'deepin_hibernate')
        self.gui.switch_btn.connect("clicked", self.switch_btn_clicked)
        self.gui.lock_btn.connect("clicked", self.lock_btn_clicked)
        self.gui.user_label_event.connect("button-press-event",
                                          self.user_label_clicked)
示例#11
0
class TestUser(unittest.TestCase):
    def setUp(self):
        '''
        Function to help create user account before each test
        '''
        self.new_user = User('Clyde', 'Dennis', 'lit')

    def test_init_(self):
        self.assertEqual(self.new_user.first_name, 'Clyde')
        self.assertEqual(self.new_user.last_name, 'Dennis')
        self.assertEqual(self.new_user.password, 'lit')

    def test_save_user(self):
        self.new_user.save_user()
        self.assertEqual(len(User.users_list), 1)
示例#12
0
 def remove_account(self):
     """! Remove user account slected in user list."""
     
     if self.users_list_combo.currentIndex() == 0:
         msg_box = QAgiMessageBox()
         msg_box.setText(R.values.strings.select_user(self._lng))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
     
     user_id = self.users_list_combo.currentText()
     try:
         self._accounts.remove(User(user_id))
         self.users_list_combo.removeItem(self.users_list_combo.currentIndex())
     except Exception as e:
         msg_box = QAgiMessageBox()
         msg_box.setText(str(e))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
         
     self.users_list_combo.setCurrentIndex(0)
     msg_box = QAgiMessageBox()
     msg_box.setText(R.values.strings.user_rm_success(self._lng))
     msg_box.setIcon(QAgiMessageBox.Information)
     msg_box.setStandardButtons(QAgiMessageBox.Ok)
     msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
     msg_box.exec_()
示例#13
0
def create_account(first_name, last_name, email, password):
    """
				function to create new user account
				"""

    new_user = User(first_name, last_name, email, password)
    return new_user
示例#14
0
 def test_confirm_user(self):
     self.new_user = User('Clyde', 'Dennis', 'lit')
     self.new_user.save_user()
     userZ = User('Clyde', 'Dennis', 'lit')
     userZ.save_user()
     active_user = Credential.confirm_user('Clyde', 'lit')
     self.assertTrue(active_user)
示例#15
0
def login():
    if current_user.is_authenticated:
        return redirect(url_for('overall'))

    loginform = LoginForm()
    regform = RegistrationForm()

    if loginform.submitlogin.data and loginform.validate():
        user = username_to_user(
            loginform.username.data
        )  #make this retrieve the user from the database based on username
        print('This is the user: '******'Invalid username or password')
            return redirect('/login')
        login_user(user)
        # is_safe_url should check if the url is safe for redirects.
        # This code simply forbids redirects
        if request.args.get('next'):
            return flask.abort(400)
        return redirect('/account')

    elif regform.submitreg.data and regform.validate():
        user = User(username=regform.username.data,
                    email=regform.email.data,
                    userid=new_id())
        user.set_password(regform.password.data)
        print(regform.password.data)
        push_user(user)
        flash('Congratulations, you are now a registered user!')
        # is_safe_url should check if the url is safe for redirects.
        # This code simply forbids redirects
        if request.args.get('next'):
            return flask.abort(400)
        return redirect('/account')
    return render_template('login.html',
                           title='Sign In',
                           loginform=loginform,
                           regform=regform)
示例#16
0
 def add_user_account(self):
     """! Check fields and add user account."""
     
     accounts = UserAccounts()
     
     user = User(self.user_id_edit.text())
     
     password = self.password_edit.text()
     confirm = self.confirm_password_edit.text()
     
     if user.userid == "" or \
        password == "" or \
        confirm == "":
         msg_box = QAgiMessageBox()
         msg_box.setText(R.values.strings.fields_not_filled(self._lng))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
     
     if confirm != password:
         msg_box = QAgiMessageBox()
         msg_box.setText(R.values.strings.passwords_different(self._lng))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
     else:
         user.setUserPassword(password)
     
     user.setUserPrivilege(Privilege.TOLEVEL[self.access_rights_combo.currentText().lower()])
     
     try:
         accounts.add(user)
     except Exception as e:
         msg_box = QAgiMessageBox()
         msg_box.setText(str(e))
         msg_box.setIcon(QAgiMessageBox.Critical)
         msg_box.setStandardButtons(QAgiMessageBox.Ok)
         msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
         msg_box.exec_()
         return
     
     msg_box = QAgiMessageBox()
     msg_box.setText(R.values.strings.add_user_success(self._lng))
     msg_box.setIcon(QAgiMessageBox.Information)
     msg_box.setStandardButtons(QAgiMessageBox.Ok)
     msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
     msg_box.exec_()
     
     self.user_id_edit.setText("")
     self.password_edit.setText("")
     self.confirm_password_edit.setText("")
     self.access_rights_combo.setCurrentIndex(0)
    def __init__(self):
        self.__xrandr_gsettings = deepin_gsettings.new("org.gnome.settings-daemon.plugins.xrandr")
        new_brightness = self.__xrandr_gsettings.get_double("brightness")
        if new_brightness > 0.1:
            self.__xrandr_gsettings.set_double("brightness", new_brightness)
        
        self.gui = Gui()
        self.dbus_user = User(DBUS_USER_STR)
        self.dialog = TrayDialog()

        self.resource_dict = {
                "deepin_shutdown": {
                    "info_text": SHUTDOWN_TEXT,
                    "ok_text": _("Shut down"),
                    "force_ok_text": _("Force shut down"),
                    "ok_exec": self.gui.cmd_dbus.new_stop,
                    },
                "deepin_restart": {
                    "info_text": RESTART_TEXT,
                    "ok_text": _("Restart"),
                    "force_ok_text": _("Force restart"),
                    "ok_exec": self.gui.cmd_dbus.new_restart,
                    },
                "deepin_suspend": {
                    "info_text": SUSPEND_TEXT,
                    "ok_text": _("Suspend"),
                    "force_ok_text": _("Force suspend"),
                    "ok_exec": self.gui.cmd_dbus.suspend,
                    },
                "deepin_hibernate": {
                    "info_text": LOGOUT_TEXT,
                    "ok_text": _("Log out"),
                    "force_ok_text": _("Force log out"),
                    "ok_exec": lambda:self.gui.cmd_dbus.logout(1),
                    },
                }

        self.gui.stop_btn.connect("clicked", self.check_system_app_running, 'deepin_shutdown')
        self.gui.restart_btn.connect("clicked", self.check_system_app_running, 'deepin_restart')
        self.gui.suspend_btn.connect("clicked", self.check_system_app_running, 'deepin_suspend')
        self.gui.logout_btn.connect("clicked", self.check_system_app_running, 'deepin_hibernate')
        self.gui.switch_btn.connect("clicked", self.switch_btn_clicked)
        self.gui.lock_btn.connect("clicked", self.lock_btn_clicked)
        self.gui.user_label_event.connect("button-press-event", self.user_label_clicked)
示例#18
0
    def test_check_user(self):
        '''
		Function to test whether the login in function check_user works as expected.
		'''
        self.new_user = User("Loise", "Mwangi", "tcmwangi", "peppermint")
        self.new_user.save_user()
        user2 = User("Ian", "Kabugi", "iankabugi", "laptop")
        user2.save_user()

        for user in User.users_list:
            if user.first_name == user2.first_name and user.user_password == user2.password:
                this_user = user.first_name
        return this_user

        self.assertEqual(
            this_user, Credentials.check_user(user2.password,
                                              user2.first_name))
示例#19
0
		def setUp(self):
				"""
				set up to run before each test cases.
				"""
				self.new_user = User("Nevill","Oronni","*****@*****.**","speeds01") 
class TrayShutdownPlugin(object):
    def __init__(self):
        self.__xrandr_gsettings = deepin_gsettings.new("org.gnome.settings-daemon.plugins.xrandr")
        new_brightness = self.__xrandr_gsettings.get_double("brightness")
        if new_brightness > 0.1:
            self.__xrandr_gsettings.set_double("brightness", new_brightness)
        
        self.gui = Gui()
        self.dbus_user = User(DBUS_USER_STR)
        self.dialog = TrayDialog()

        self.resource_dict = {
                "deepin_shutdown": {
                    "info_text": SHUTDOWN_TEXT,
                    "ok_text": _("Shut down"),
                    "force_ok_text": _("Force shut down"),
                    "ok_exec": self.gui.cmd_dbus.new_stop,
                    },
                "deepin_restart": {
                    "info_text": RESTART_TEXT,
                    "ok_text": _("Restart"),
                    "force_ok_text": _("Force restart"),
                    "ok_exec": self.gui.cmd_dbus.new_restart,
                    },
                "deepin_suspend": {
                    "info_text": SUSPEND_TEXT,
                    "ok_text": _("Suspend"),
                    "force_ok_text": _("Force suspend"),
                    "ok_exec": self.gui.cmd_dbus.suspend,
                    },
                "deepin_hibernate": {
                    "info_text": LOGOUT_TEXT,
                    "ok_text": _("Log out"),
                    "force_ok_text": _("Force log out"),
                    "ok_exec": lambda:self.gui.cmd_dbus.logout(1),
                    },
                }

        self.gui.stop_btn.connect("clicked", self.check_system_app_running, 'deepin_shutdown')
        self.gui.restart_btn.connect("clicked", self.check_system_app_running, 'deepin_restart')
        self.gui.suspend_btn.connect("clicked", self.check_system_app_running, 'deepin_suspend')
        self.gui.logout_btn.connect("clicked", self.check_system_app_running, 'deepin_hibernate')
        self.gui.switch_btn.connect("clicked", self.switch_btn_clicked)
        self.gui.lock_btn.connect("clicked", self.lock_btn_clicked)
        self.gui.user_label_event.connect("button-press-event", self.user_label_clicked)

    def exec_command(self, command):
        subprocess.Popen(command, stderr=subprocess.STDOUT, shell=False)

    def check_system_app_running(self, widget, action_id):
        resource = self.resource_dict[action_id]
        if is_software_center_working():
            self.dialog.show_warning(DSC_WARNING_TEXT + "\n\n" + INHIBIT_TAIL,
                    ok_text=resource["force_ok_text"],
                    )
            self.dialog.run_exec = resource["ok_exec"]
            self.this.hide_menu()
        else:
            running_program = inhibit.get_inhibit_programs()
            if running_program:
                if len(running_program) == 1:
                    self.dialog.show_warning(INHIBIT_HEAD+"\n\n"+INHIBIT_TAIL,
                        ok_text=resource["force_ok_text"])
                else:
                    self.dialog.show_warning(INHIBIT_HEAD_PLURAL % len(running_program) 
                            +"\n\n"+INHIBIT_TAIL,
                        ok_text=resource["force_ok_text"])
                self.dialog.run_exec = resource["ok_exec"]
                self.this.hide_menu()
            else:
                self.dialog.show_dialog(action_id, resource["info_text"], resource["ok_text"])
                self.dialog.run_exec = resource["ok_exec"]
                self.this.hide_menu()

    def user_label_clicked(self, widget, event):
        # run dss command.
        if event.button == 1:
            run_command(RUN_DSS_COMMAND)
            self.this.hide_menu()

    def switch_btn_clicked(self, widget):
        self.this.hide_menu()
        run_command(RUN_SWITCH_TOGREETER)

    def lock_btn_clicked(self, widget):
        self.this.hide_menu()
        run_command(RUN_LOCK_COMMAND)

    def init_values(self, this_list):
        self.this_list = this_list
        self.this = self.this_list[0]
        self.tray_icon = self.this_list[1]
        self.tray_icon.set_icon_theme("user")

    def set_user_icon(self):
        try:
            # set user icon.
            #print self.gui.cmd_dbus.get_user_image_path() 
            #self.gui.user_icon.set_from_file(self.gui.cmd_dbus.get_user_image_path())
            self.gui.user_icon.set_from_file(self.dbus_user.get_icon_file())
            #
            user_pixbuf = self.gui.user_icon.get_pixbuf()
            new_user_pixbuf = user_pixbuf.scale_simple(self.gui.icon_width, 
                                                       self.gui.icon_height, 
                                                       gtk.gdk.INTERP_BILINEAR)
        except Exception, e:
            try:
                user_pixbuf = self.gui.gui_theme.get_pixbuf("account/icon.png").get_pixbuf()
                new_user_pixbuf = user_pixbuf.scale_simple(self.gui.icon_width, 
                                                           self.gui.icon_height, 
                                                           gtk.gdk.INTERP_BILINEAR)
                print "set user icon [error]:", e
            except:
                new_user_pixbuf = self.tray_icon.load_icon("user")

        self.gui.user_icon.set_from_pixbuf(new_user_pixbuf)
示例#21
0
class ModifUserAccountWidget(QWidget):
    
    def __init__(self, parent):
        """! The constructor."""
        QWidget.__init__(self)
        
        self._context = parent.getContext()
        self._lng = self._context.getLanguage()
        
        # Extend the widget with all attributes and children from UI file
        loadUi(R.layouts.modif_account_widget, self)
        
        self.select_user_label.setText(R.values.strings.select_user(self._lng))
        self.current_password_label.setText(R.values.strings.current_password(self._lng))
        self.check_password_button.setText(R.values.strings.ok(self._lng))
        self.access_rights_label.setText(R.values.strings.access_rights(self._lng))
        self.new_password_label.setText(R.values.strings.new_password(self._lng))
        self.confirm_password_label.setText(R.values.strings.confirm_password(self._lng))
        self.modif_user_account_button.setText(R.values.strings.ok(self._lng))
        
        self.new_password_edit.setEchoMode(QLineEdit.Password)
        self.confirm_new_password_edit.setEchoMode(QLineEdit.Password)
        
        self._accounts = UserAccounts()
        self.user_selected = User()
        self.user_dst = User()
        
        self.users_list_combo.addItems(self._accounts.user_list())
        self.users_list_combo.currentIndexChanged.connect(self.update_user_info)
        
        self.connect(self.modif_user_account_button, SIGNAL("clicked()"),
                      self.modif_user_account)
        
        self.connect(self.check_password_button, SIGNAL("clicked()"),
                     self.check_password)
        
        self.current_password_edit.textChanged[str].connect(self.current_password_changed)
        
    def current_password_changed(self):
        self.init_fields(False)
        
    def check_password(self):
        
        password = self.current_password_edit.text()
        
        if password == self.user_selected.getUserPassword(True):
            
            self.current_password_edit.setStyleSheet(R.values.styles.good_password)
            
            privilege = self.user_selected.getUserPrivilege()
            self.access_rights_combo.setCurrentIndex(privilege+1)
            self.new_password_edit.setText(self.user_selected.getUserPassword(True))
            self.confirm_new_password_edit.setText(self.user_selected.getUserPassword(True))
            
            self.new_password_edit.setEnabled(True)
            self.confirm_new_password_edit.setEnabled(True)
            self.access_rights_combo.setEnabled(True)
            self.modif_user_account_button.setEnabled(True)
            
        else:
            
            self.init_fields(False)
            
            self.current_password_edit.setStyleSheet(R.values.styles.bad_password)
            
        
    def update_user_info(self, index):
        """! Update user information with user selected.
        @param index: user list index.
        @type index: int.
        """
        self.init_fields()
        
        if index == 0:
            self.current_password_edit.setEnabled(False)
        else:
            self.user_selected = self._accounts.find(self.users_list_combo.itemText(index))
            self.current_password_edit.setEnabled(True)
            
    def modif_user_account(self):
        """! Check fields and modify user account."""
        
        user_modified = User(self.user_selected.getUserId())
        
        if self.access_rights_combo.currentIndex() == 0:
            
            msg_box = QAgiMessageBox()
            msg_box.setText(R.values.strings.select_access_rights(self._lng))
            msg_box.setIcon(QAgiMessageBox.Critical)
            msg_box.setStandardButtons(QAgiMessageBox.Ok)
            msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
            msg_box.exec_()
            return
        elif self.new_password_edit.text() != \
             self.confirm_new_password_edit.text():
            
            msg_box = QAgiMessageBox()
            msg_box.setText(R.values.strings.passwords_different(self._lng))
            msg_box.setIcon(QAgiMessageBox.Critical)
            msg_box.setStandardButtons(QAgiMessageBox.Ok)
            msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
            msg_box.exec_()
            return
        else:
            user_modified.privilege = Privilege.TOLEVEL[self.access_rights_combo.currentText().lower()]
            user_modified.setUserPassword(self.new_password_edit.text())
        
        try:
            
            self._accounts.modif(self.user_selected, user_modified)
        except Exception as e:
            
            msg_box = QAgiMessageBox()
            msg_box.setText(str(e))
            msg_box.setIcon(QAgiMessageBox.Critical)
            msg_box.setStandardButtons(QAgiMessageBox.Ok)
            msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
            msg_box.exec_()
            return
            
        msg_box = QAgiMessageBox()
        msg_box.setText(R.values.strings.user_mv_success(self._lng))
        msg_box.setIcon(QAgiMessageBox.Information)
        msg_box.setStandardButtons(QAgiMessageBox.Ok)
        msg_box.button(QAgiMessageBox.Ok).setMinimumSize(100,40)
        msg_box.exec_()
        
        self.users_list_combo.setCurrentIndex(0)
        self.init_fields()
        
    def init_fields(self, clear_all = True):
        
        self.access_rights_combo.setCurrentIndex(0)
        self.new_password_edit.setText('')
        self.confirm_new_password_edit.setText('')
        self.new_password_edit.setEnabled(False)
        self.confirm_new_password_edit.setEnabled(False)
        self.access_rights_combo.setEnabled(False)
        self.modif_user_account_button.setEnabled(False)
        
        if clear_all:
            self.current_password_edit.setText('')
            
        self.current_password_edit.setStyleSheet(R.values.styles.no_password)
示例#22
0
def save_user(user):
    User.save_user(user)
示例#23
0
 def setUp(self):
     '''
     Function to help create user account before each test
     '''
     self.new_user = User('Clyde', 'Dennis', 'lit')
示例#24
0
def check_users(email, password):
    """
				function that checks to see if a user exists in the list befor calling login_user to
				return the user account
				"""
    return User.user_exist(email, password)
示例#25
0
class TestCredentials(unittest.TestCase):
    def test_confirm_user(self):
        self.new_user = User('Clyde', 'Dennis', 'lit')
        self.new_user.save_user()
        userZ = User('Clyde', 'Dennis', 'lit')
        userZ.save_user()
        active_user = Credential.confirm_user('Clyde', 'lit')
        self.assertTrue(active_user)

    def setUp(self):
        '''
        Function to create social media account credentials before each test
        '''
        self.new_credential = Credential('clarke', 'instagram', 'kent',
                                         'clarkekent')

    def test__init__(self):
        '''
        Confirm that credential creation is as expected
        '''
        self.assertEqual(self.new_credential.user_name, 'clarke')
        self.assertEqual(self.new_credential.social_media, 'instagram')
        self.assertEqual(self.new_credential.account_name, 'kent')
        self.assertEqual(self.new_credential.password, 'clarkekent')

    def test_save_credentials(self):
        '''
        Confirm and test if the new credential info is being saved
        '''
        self.new_credential.save_credentials()
        self.assertEqual(len(Credential.credentials_list), 1)

    def tearDown(self):
        User.users_list = []
        Credential.credentials_list = []

    def test_display_credentials(self):
        '''
        Confirm user can view correct credential details
        '''
        self.new_credential.save_credentials()
        instagram = Credential('clarke', 'instagram', 'kent', 'clarkekent')
        instagram.save_credentials()
        self.assertEqual(Credential.display_credentials(),
                         Credential.credentials_list)

    def test_delete_contact(self):
        Credential.credentials_list = []

    def test_search_social_media(self):
        '''
        Test to confirm if the method returns the correct social media credential
        '''
        self.new_credential.save_credentials()
        instagram = Credential('clarke', 'instagram', 'kent', 'clarkekent')
        instagram.save_credentials()

    def test_credential_exists(self):
        self.new_credential.save_credentials()
        instagram = Credential('clarke', 'instagram', 'kent', 'clarkekent')
        instagram.save_credentials()

        credential_exists = Credential.credential_exists("instagram")
        self.assertTrue(credential_exists)
def main():
    john = User("John", "Lennon", "*****@*****.**")
    paul = User("Paul", "McCartney", "*****@*****.**")
    george = User("George", "Harrison", "*****@*****.**")
    ringo = User("Ringo", "Starr", "*****@*****.**")

    # John > Paul, George, Ringo
    # George > Paul, John
    # Ringo > John
    # Paul > /

    john.follow(paul)
    john.follow(george)
    john.follow(ringo)

    george.follow(paul)
    george.follow(john)

    ringo.follow(john)

    john.add_post(TextPost("All you need is love!"))
    john.add_post(
        PicturePost("Check my new submarine.",
                    image_url='imgur.com/submarine.jpg'))

    george.add_post(TextPost("My guitar gently weeps..."))
    george.add_post(TextPost("For you, I'd go full blue..."))

    paul.add_post(
        PicturePost("Check my new guitar", image_url="imgur.com/guitar.png"))
    paul.add_post(
        CheckInPost("At 20 Forthlin Road",
                    latitude="20.111",
                    longitude="-10.2222"))

    paul.add_post(
        CheckInPost("At Abbey Road Studios",
                    latitude="19.111",
                    longitude="-9.2222"))

    print("### John's timeline")
    for post in john.get_timeline():
        print(post)
示例#27
0
class TestAccounts(unittest.TestCase):

		"""
		Test class that define test cases for the user class behaviours.

		Args:
				unittest.TestCase: TestCase class that helps in creating test cases

		"""

		def setUp(self):
				"""
				set up to run before each test cases.
				"""
				self.new_user = User("Nevill","Oronni","*****@*****.**","speeds01") 

		def tearDown(self):
				"""
				method that cleans up after each test has run.
				"""
				User.user_list = []

		def test_init(self):
				"""
				test_init test case to test if the object is initialized properly
				"""

				self.assertEqual(self.new_user.first_name,"Nevill")
				self.assertEqual(self.new_user.last_name,"Oronni")
				self.assertEqual(self.new_user.email,"*****@*****.**")
				self.assertEqual(self.new_user.password,"speeds01")


		def test_save_user(self):
				"""
				test_save_account test case to test if the new account object is saved into the contact list
				"""
				self.new_user.save_user()
				self.assertEqual(len(User.user_list),1)

		def test_save_user_many_times(self):
				"""
				test_save_account_many_times sees if we can save many contacts to our list
				"""
				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()
				self.assertEqual(len(User.user_list),2)		

		def test_delete_user(self):
				"""
				method tests whether we can delete a user account form our user list
				"""
				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()

				self.new_user.delete_user()
				self.assertEqual(len(User.user_list),1)

		def test_get_user(self):
				"""
				test to check if you can find a user by their email and password
				"""

				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()

				login_user = User.find_by("*****@*****.**","gerrard01")
				self.assertEqual(login_user.email,test_user.email)

		def test_user_exists(self):
				"""
				test to see if a user account exists
				"""

				self.new_user.save_user()
				test_user = User("Steven","Gerrard","*****@*****.**","gerrard01")
				test_user.save_user()

				user_exists = User.user_exist("*****@*****.**","gerrard01")
				self.assertTrue(user_exists)

		def test_list_all_users(self):
				"""
				retuns a list of all the users saved in the app
				"""

				self.assertEqual(User.list_users(),User.user_list)
示例#28
0
def create_user(fstname, lstname, password):
    '''
    Function to create user account
    '''
    new_user = User(fstname, lstname, password)
    return new_user
示例#29
0
 def setUp(self):
     '''
     Set up method to run before each test cases.
     '''
     self.new_user = User("Loise", "Mwangi", "tc-mwangi",
                          "peppermint92!")  # create user object
示例#30
0
class TrayShutdownPlugin(object):
    def __init__(self):
        self.__xrandr_gsettings = deepin_gsettings.new(
            "org.gnome.settings-daemon.plugins.xrandr")
        new_brightness = self.__xrandr_gsettings.get_double("brightness")
        if new_brightness > 0.1:
            self.__xrandr_gsettings.set_double("brightness", new_brightness)

        self.gui = Gui()
        self.dbus_user = User(DBUS_USER_STR)
        self.dialog = TrayDialog()

        self.resource_dict = {
            "deepin_shutdown": {
                "info_text": SHUTDOWN_TEXT,
                "ok_text": _("Shut down"),
                "force_ok_text": _("Force shut down"),
                "ok_exec": self.gui.cmd_dbus.new_stop,
            },
            "deepin_restart": {
                "info_text": RESTART_TEXT,
                "ok_text": _("Restart"),
                "force_ok_text": _("Force restart"),
                "ok_exec": self.gui.cmd_dbus.new_restart,
            },
            "deepin_suspend": {
                "info_text": SUSPEND_TEXT,
                "ok_text": _("Suspend"),
                "force_ok_text": _("Force suspend"),
                "ok_exec": self.gui.cmd_dbus.suspend,
            },
            "deepin_hibernate": {
                "info_text": LOGOUT_TEXT,
                "ok_text": _("Log out"),
                "force_ok_text": _("Force log out"),
                "ok_exec": lambda: self.gui.cmd_dbus.logout(1),
            },
        }

        self.gui.stop_btn.connect("clicked", self.check_system_app_running,
                                  'deepin_shutdown')
        self.gui.restart_btn.connect("clicked", self.check_system_app_running,
                                     'deepin_restart')
        self.gui.suspend_btn.connect("clicked", self.check_system_app_running,
                                     'deepin_suspend')
        self.gui.logout_btn.connect("clicked", self.check_system_app_running,
                                    'deepin_hibernate')
        self.gui.switch_btn.connect("clicked", self.switch_btn_clicked)
        self.gui.lock_btn.connect("clicked", self.lock_btn_clicked)
        self.gui.user_label_event.connect("button-press-event",
                                          self.user_label_clicked)

    def exec_command(self, command):
        subprocess.Popen(command, stderr=subprocess.STDOUT, shell=False)

    def check_system_app_running(self, widget, action_id):
        resource = self.resource_dict[action_id]
        if is_software_center_working():
            self.dialog.show_warning(
                DSC_WARNING_TEXT + "\n\n" + INHIBIT_TAIL,
                ok_text=resource["force_ok_text"],
            )
            self.dialog.run_exec = resource["ok_exec"]
            self.this.hide_menu()
        else:
            running_program = inhibit.get_inhibit_programs()
            if running_program:
                if len(running_program) == 1:
                    self.dialog.show_warning(INHIBIT_HEAD + "\n\n" +
                                             INHIBIT_TAIL,
                                             ok_text=resource["force_ok_text"])
                else:
                    self.dialog.show_warning(
                        INHIBIT_HEAD_PLURAL % len(running_program) + "\n\n" +
                        INHIBIT_TAIL,
                        ok_text=resource["force_ok_text"])
                self.dialog.run_exec = resource["ok_exec"]
                self.this.hide_menu()
            else:
                self.dialog.show_dialog(action_id, resource["info_text"],
                                        resource["ok_text"])
                self.dialog.run_exec = resource["ok_exec"]
                self.this.hide_menu()

    def user_label_clicked(self, widget, event):
        # run dss command.
        if event.button == 1:
            run_command(RUN_DSS_COMMAND)
            self.this.hide_menu()

    def switch_btn_clicked(self, widget):
        self.this.hide_menu()
        run_command(RUN_SWITCH_TOGREETER)

    def lock_btn_clicked(self, widget):
        self.this.hide_menu()
        run_command(RUN_LOCK_COMMAND)

    def init_values(self, this_list):
        self.this_list = this_list
        self.this = self.this_list[0]
        self.tray_icon = self.this_list[1]
        self.tray_icon.set_icon_theme("user")

    def set_user_icon(self):
        try:
            # set user icon.
            #print self.gui.cmd_dbus.get_user_image_path()
            #self.gui.user_icon.set_from_file(self.gui.cmd_dbus.get_user_image_path())
            self.gui.user_icon.set_from_file(self.dbus_user.get_icon_file())
            #
            user_pixbuf = self.gui.user_icon.get_pixbuf()
            new_user_pixbuf = user_pixbuf.scale_simple(self.gui.icon_width,
                                                       self.gui.icon_height,
                                                       gtk.gdk.INTERP_BILINEAR)
        except Exception, e:
            try:
                user_pixbuf = self.gui.gui_theme.get_pixbuf(
                    "account/icon.png").get_pixbuf()
                new_user_pixbuf = user_pixbuf.scale_simple(
                    self.gui.icon_width, self.gui.icon_height,
                    gtk.gdk.INTERP_BILINEAR)
                print "set user icon [error]:", e
            except:
                new_user_pixbuf = self.tray_icon.load_icon("user")

        self.gui.user_icon.set_from_pixbuf(new_user_pixbuf)
示例#31
0
		def test_list_all_users(self):
				"""
				retuns a list of all the users saved in the app
				"""

				self.assertEqual(User.list_users(),User.user_list)
示例#32
0
def login_user(email, password):
    """
				function that finds a user accoutn and logs user in
				"""
    return User.find_by(email, password)