Example #1
0
    def load_user(self, public_key):
        self.active_user = public_key
        self.window().profile_verified_label.hide()

        request_manager = RequestManager()
        request_manager.perform_request("dappcrowd/users/%s" % public_key,
                                        self.on_user_info)
Example #2
0
 def load_review(self, review_pk, review_id):
     self.active_review_pk = review_pk
     self.active_review_id = review_id
     request_manager = RequestManager()
     request_manager.perform_request(
         "dappcrowd/reviews/%s/%d" % (review_pk, review_id),
         self.on_review_info)
Example #3
0
    def on_my_submissions(self, data):
        self.my_submissions = data['submissions']
        self.redraw_left_menu()

        request_manager = RequestManager()
        request_manager.perform_request("dappcrowd/users/myprofile/reviews",
                                        self.on_my_reviews)
Example #4
0
 def on_create_review_clicked(self):
     request_manager = RequestManager()
     review_text = self.window().review_input.toPlainText().encode('hex')
     post_data = str("submission_pk=%s&submission_id=%s&review=%s" %
                     (self.active_submission_pk, self.active_submission_id,
                      review_text))
     request_manager.perform_request("dappcrowd/reviews",
                                     self.on_review_created,
                                     data=post_data,
                                     method="PUT")
Example #5
0
    def on_submission_info(self, data):
        if data['submission']['public_key'] == self.window().profile_info['public_key'] or data['submission']['did_review']:
            self.window().submission_add_review_button.setEnabled(False)
        else:
            self.window().submission_add_review_button.setEnabled(True)

        self.window().submission_detail_label.setText("Submission made by %s (%s)" % (data['submission']['username'], pretty_date(data['submission']['timestamp'] / 1000)))
        self.window().submission_text_input.setPlainText(data['submission']['submission'].decode('hex'))

        request_manager = RequestManager()
        request_manager.perform_request("dappcrowd/submissions/%s/%d/reviews" % (self.active_submission_pk, self.active_submission_id), self.on_reviews)
Example #6
0
    def on_my_projects(self, data):
        self.my_projects = []
        for project in data['projects']:
            if project['public_key'] == self.profile_info['public_key']:
                self.my_projects.append(project)

        self.redraw_left_menu()

        request_manager = RequestManager()
        request_manager.perform_request(
            "dappcrowd/users/myprofile/submissions", self.on_my_submissions)
Example #7
0
 def on_connect_github_dialog_button_clicked(self, action):
     if action == 0:
         # Add the skill
         request_manager = RequestManager()
         post_data = str("username=%s" %
                         self.dialog.dialog_widget.dialog_input.text())
         request_manager.perform_request("dappcrowd/github/import",
                                         self.on_github_import_data,
                                         data=post_data,
                                         method="PUT")
     self.dialog.close()
Example #8
0
 def on_endorse_button_dialog_clicked(self, action):
     if action == 0:
         # Endorse the skill
         request_manager = RequestManager()
         post_data = str("block_num=%d" % self.skill_info['block_num'])
         request_manager.perform_request("dappcrowd/users/%s/skills" %
                                         self.profile_page.active_user,
                                         self.on_skill_endorsed,
                                         data=post_data,
                                         method="PUT")
     self.dialog.close()
     self.dialog = None
Example #9
0
    def on_project_info(self, data):
        self.window().project_name_label.setText(data['project']['name'])
        self.window().project_deadline_label.setText(data['project']['deadline'])
        self.window().project_specifications_label.setPlainText(data['project']['specifications'].decode('hex'))

        if data['project']['public_key'] == self.window().profile_info['public_key'] or data['project']['made_submission']:
            self.window().project_add_submission_button.setEnabled(False)
        else:
            self.window().project_add_submission_button.setEnabled(True)

        # Load submissions
        request_manager = RequestManager()
        request_manager.perform_request("dappcrowd/projects/%s/%d/submissions" % (self.active_project_pk, self.active_project_id), self.on_submissions)
Example #10
0
    def on_create_app_request_clicked(self):
        name = self.window().create_app_request_name_input.text()
        specifications = self.window(
        ).create_app_request_specifications_input.toPlainText().encode('hex')
        deadline = "2018-12-01"
        reward = 300
        currency = "EUR"
        min_reviews = 3

        request_manager = RequestManager()
        post_data = str(
            "name=%s&specifications=%s&deadline=%s&reward=%d&currency=%s&min_reviews=%d"
            % (name, specifications, deadline, reward, currency, min_reviews))
        request_manager.perform_request("dappcrowd/projects",
                                        self.on_app_request_created,
                                        data=post_data,
                                        method="PUT")
Example #11
0
 def on_add_skill_dialog_button_clicked(self, action):
     if action == 0:
         skill_to_add = self.dialog.dialog_widget.dialog_input.text()
         # Did we already add the skill?
         is_added = skill_to_add in [
             skill['name'] for skill in self.user_data['user']['skills']
         ]
         if is_added:
             ConfirmationDialog.show_error(
                 self.window(), "Skill already added",
                 "You already added this skill to your profile.")
         else:
             # Add the skill
             request_manager = RequestManager()
             post_data = str("name=%s" % skill_to_add)
             request_manager.perform_request(
                 "dappcrowd/users/myprofile/skills",
                 self.on_skill_added,
                 data=post_data,
                 method="PUT")
     self.dialog.close()
Example #12
0
    def on_user_info(self, data):
        self.user_data = data
        is_me = self.active_user == self.window().profile_info['public_key']
        if is_me:
            self.window().profile_header_label.setText("Your DevID")
            self.window().add_skill_button.show()
        else:
            self.window().profile_header_label.setText(
                "DevID of user '%s'" % data['user']['username'])
            self.window().add_skill_button.hide()

        if data['user']['verified']:
            self.window().profile_verified_label.show()

        if not data['user']['github_info']:
            if is_me:
                self.window().connect_github_container.show()
                self.window().no_github_imported_label.hide()
            else:
                self.window().connect_github_container.hide()
                self.window().no_github_imported_label.show()
            self.window().github_info_container.hide()
        else:
            self.window().connect_github_container.hide()
            self.window().no_github_imported_label.hide()
            self.window().github_info_container.show()
            self.window().github_username_label.setText(
                data['user']['github_info']['username'])
            self.window().github_followers_label.setText(
                "%d" % data['user']['github_info']['followers'])

        if not data['user']['bitbucket_info']:
            if is_me:
                self.window().connect_bitbucket_container.show()
                self.window().no_bitbucket_imported_label.hide()
            else:
                self.window().connect_bitbucket_container.hide()
                self.window().no_bitbucket_imported_label.show()

        # Load the skills
        for i in reversed(
                range(self.window().skills_container.layout().count())):
            widget = self.window().skills_container.layout().itemAt(i).widget()
            if widget and widget != self.window().no_skills_added_label:
                self.window().skills_container.layout().itemAt(
                    i).widget().setParent(None)

        for skill_info in data['user']['skills']:
            skill_widget = SkillItem(self.window().skills_container, self,
                                     skill_info)
            self.window().skills_container.layout().insertWidget(
                self.window().skills_container.layout().count() - 1,
                skill_widget)

        if len(data['user']['skills']) > 0:
            self.window().no_skills_added_label.hide()
        else:
            self.window().no_skills_added_label.show()
            if is_me:
                self.window().no_skills_added_label.setText(
                    "You have not added any skills to your profile.")
            else:
                self.window().no_skills_added_label.setText(
                    "This user did not add any skills to their profile.")

        # Load statistics
        request_manager = RequestManager()
        request_manager.perform_request(
            "dappcrowd/users/%s/statistics" % self.active_user,
            self.on_statistics)
Example #13
0
 def load_left_menu(self):
     request_manager = RequestManager()
     request_manager.perform_request("dappcrowd/projects",
                                     self.on_my_projects)
Example #14
0
 def load_jobs(self):
     request_manager = RequestManager()
     request_manager.perform_request("dappcrowd/projects", self.on_projects)
Example #15
0
 def load_timeline(self):
     request_manager = RequestManager()
     request_manager.perform_request("dappcrowd/timeline",
                                     self.on_timeline_info)
Example #16
0
 def load_users(self):
     request_manager = RequestManager()
     request_manager.perform_request("dappcrowd/users", self.on_users)
Example #17
0
 def on_create_submission_clicked(self):
     request_manager = RequestManager()
     submission_text = self.window().submission_input.toPlainText().encode('hex')
     post_data = str("project_pk=%s&project_id=%s&submission=%s" % (self.active_project_pk, self.active_project_id, submission_text))
     request_manager.perform_request("dappcrowd/submissions", self.on_submission_created, data=post_data, method="PUT")
Example #18
0
 def load_my_profile(self):
     # Load your profile information first
     request_manager = RequestManager()
     request_manager.perform_request("dappcrowd/users/myprofile",
                                     self.on_my_profile)
Example #19
0
 def load_project(self, project_pk, project_id):
     self.active_project_pk = project_pk
     self.active_project_id = project_id
     request_manager = RequestManager()
     request_manager.perform_request("dappcrowd/projects/%s/%d" % (project_pk, project_id), self.on_project_info)
Example #20
0
 def load_submission(self, submission_pk, submission_id):
     self.active_submission_pk = submission_pk
     self.active_submission_id = submission_id
     request_manager = RequestManager()
     request_manager.perform_request("dappcrowd/submissions/%s/%d" % (submission_pk, submission_id), self.on_submission_info)